在ubuntu上
redis安装 : sudo apt-get install redis-server
hiredis安装 : 先到 https://github.com/redis/hiredis 下载 hiredis , 然后
sudo make
sudo make install
sudo ldconfig
在ubuntu上
redis安装 : sudo apt-get install redis-server
hiredis安装 : 先到 https://github.com/redis/hiredis 下载 hiredis , 然后
sudo make
sudo make install
sudo ldconfig
例如 :#!/usr/bin/python
# -*- coding: UTF-8 -*-
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # 输出完整列表
print list[0] # 输出列表的第一个元素
print list[1:3] # 输出第二个至第三个的元素
print list[2:] # 输出从第三个开始至列表末尾的所有元素
print tinylist * 2 # 输出列表两次
print list + tinylist # 打印组合的列表
以上实例输出结果:['runoob', 786, 2.23, 'john', 70.2]
runoob
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['runoob', 786, 2.23, 'john', 70.2, 123, 'john']
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 ), 除了元祖用()而list用[], 而且元祖只是可读的, 其他的跟list一毛一样
#!/usr/bin/python |
输出结果为:This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']
变量在使用前,必须在代码中进行声明,即创建该变量。
编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值。
Lua 变量有三种类型:全局变量、局部变量、表中的域。
Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显式声明为局部变量。
局部变量的作用域为从声明位置开始到所在语句块结束。
变量的默认值均为 nil。
a = 5 -- 全局变量 |
执行以上实例输出结果为:
$ lua test.lua |
在 Lua 里,table 的创建是通过”构造表达式”来完成,
最简单构造表达式是{},用来创建一个空表。
也可以在表里添加一些数据,直接初始化表:-- 创建一个空的 table
local tbl1 = {}
-- 直接初始表
local tbl2 = {"apple", "pear", "orange", "grape"}
Lua 中的表(table)其实是一个”关联数组”(associative arrays),数组的索引可以是数字或者是字符串。
-- table_test.lua 脚本文件 |
脚本执行结果为:$ lua table_test.lua
key : value
10 : 33
不同于其他语言的数组把 0 作为数组的初始索引,在 Lua 里表的默认初始索引一般以 1 开始。-- table_test2.lua 脚本文件
local tbl = {"apple", "pear", "orange", "grape"}
for key, val in pairs(tbl) do
print("Key", key)
end
脚本执行结果为:$ lua table_test2.lua
Key 1
Key 2
Key 3
Key 4
table 不会固定长度大小,有新数据添加时 table 长度会自动增长,没初始的 table 都是 nil。-- table_test3.lua 脚本文件
a3 = {}
for i = 1, 10 do
a3[i] = i
end
a3["key"] = "val"
print(a3["key"])
print(a3["none"])
脚本执行结果为:$ lua table_test3.lua
val
nil
. . .
epoll API是Linux系统专有的,在2.6版中新增。
epoll API的核心数据结构称作epoll实例,它和一个打开的文件描述符相关联。这个文件
描述符不是用来做I/O操作的,相反,它是内核数据结构的句柄,这些内核数据结构实现了两
个目的。
ready list中的成员是interest list的子集。
对于由epoll检查的每一个文件描述符,我们可以指定一个位掩码来表示我们感兴趣的事
件。这些位掩码同poll()所使用的位掩码有着紧密的关联。
. . .
注: 都很重要, 就不加粗了
注: 都很重要, 就不加粗了
意思:别泄露秘密。
比喻用法:指不小心提前说出本该保密的事情。
由来:
意思:我们到时候看情况再决定。
比喻用法:不提前计划,临场应对。
由来:
意思:让我们重新开始 / 改过自新。
比喻用法:做出积极改变,开始新生活或改正错误。
由来:
意思:我们直接进入重点吧。
比喻用法:不要废话,直接讲最重要的部分。
由来:
意思:你搞错对象了 / 找错地方了。
比喻用法:在错误的方向上努力或责怪了错的人。
由来:
意思:你在逗我 / 开我玩笑吧。
比喻用法:用于质疑对方说的话太离谱,可能是在开玩笑。
由来:
意思:我高兴极了 / 我欣喜若狂。
比喻用法:描述极度开心或满足的情绪。
由来:
意思:这真是锦上添花。
比喻用法:事情本已很好,又额外加上一点更好的结果。
由来:
随着互联网的不断发展,各种类型的应用层出不穷,所以导致在这个云计算的时代,
对技术提出了更多的需求,主要体现在下面这四个方面:
庞大运营成本的考量:IT经理们希望在硬件成本、软件成本和人力成本能够有大幅度地降低;
目前世界上主流的存储系统大部分还是采用了关系型数据库,其主要有一下优点:
虽然关系型数据库已经在业界的数据存储方面占据不可动摇的地位,但是由于其天生的几个限制,
使其很难满足上面这几个需求:
业界为了解决上面提到的几个需求,推出了多款新类型的数据库,并且由于它们在设计上和传统的NoSQL数据库相比有很大的不同,
所以被统称为“NoSQL”系列数据库。
总的来说,在设计上,它们非常关注对数据高并发地读写和对海量数据的存储等,与关系型数据库相比,它们在架构和数据模型方量面做了“减法”,
而在扩展和并发等方面做了“加法”。
现在主流的NoSQL数据库有MongoDB和Redis以及BigTable、Hbase、Cassandra、SimpleDB、CouchDB、等。
接下来,将关注NoSQL数据库到底存在哪些优缺点。
在优势方面,主要体现在下面这三点:
但瑕不掩瑜,NoSQL数据库还存在着很多的不足,常见主要有下面这几个:
上面NoSQL产品的优缺点都是些比较共通的,在实际情况下,每个产品都会根据自己所遵从的数据模型和CAP理念而有所不同.