redis数据库的安装没什么问题。redis-server;redis-cli
node中redis的安装:npm install redis; npm install hiredis redis;后一个不装也不影响。主要是因为装不上(node-gyp rebuild:提示说python有问题,我装了最高版的;提示说child_process中断;在网上找node-gyp rebluild,说是要装python低版本,我换了个稍低的;还是不行,网上说要装python2.7;2,6;这样一路装下来,python加了环境变量,在cmd中都起不来了。)
基础命令:教程挺有意思的,可以看到自己学了多少,看不到自己没学多少;每个命令配小例子。
set:设值
get:取值
incr:自增
del:删除
expire:设定期限
ttl:还剩多少时间
get:取值
incr:自增
del:删除
expire:设定期限
ttl:还剩多少时间
SET resource:lock "Redis Demo 1"
EXPIRE resource:lock 120
TTL resource:lock => 119
SET resource:lock "Redis Demo 2"
TTL resource:lock => -1
//在时间段内重新设值了一个值,则exprie没有了
EXPIRE resource:lock 120
TTL resource:lock => 119
SET resource:lock "Redis Demo 2"
TTL resource:lock => -1
//在时间段内重新设值了一个值,则exprie没有了
复杂的数据结构:list:一系列的有顺序的值
操作:
rpush:list后面加值
lpush:list前面加值
lrange:输出list的一个子集 跟substring一样
llen:list长度
lpop:删除list中第一个元素,并返回
rpop:删除list中最后一个元素,并返回
操作:
rpush:list后面加值
lpush:list前面加值
lrange:输出list的一个子集 跟substring一样
llen:list长度
lpop:删除list中第一个元素,并返回
rpop:删除list中最后一个元素,并返回
set:没有顺序,唯一
操作:
sadd:给set增加元素
srem:移除set中的一个元素
sismember:判断一个元素是否在set中,1表示在,0表示不在。
smembers:返回set中的值
sunion:合并set,并返回所有的值
操作:
sadd:给set增加元素
srem:移除set中的一个元素
sismember:判断一个元素是否在set中,1表示在,0表示不在。
smembers:返回set中的值
sunion:合并set,并返回所有的值
set用起来很方便,只是没有顺序,所以引入了sorted set
zadd ss 1988 'sfp':增加了一个数字来排序
zrange:类似
zadd ss 1988 'sfp':增加了一个数字来排序
zrange:类似
hashes:
hset user:1000 name 'sfp':设值
hset user:1000 age '25':设值
hgetall user:1000:显示用户
hmset user:1000 pw 'hidden' email 'sfpeng@163.com':一次设置多个字段
hget user:1000 name:取值
数字在hash中跟简单的字符串一样;还可以增加。
hincrby user:1000 visits 10:给visits增加10
hset user:1000 name 'sfp':设值
hset user:1000 age '25':设值
hgetall user:1000:显示用户
hmset user:1000 pw 'hidden' email 'sfpeng@163.com':一次设置多个字段
hget user:1000 name:取值
数字在hash中跟简单的字符串一样;还可以增加。
hincrby user:1000 visits 10:给visits增加10
mac 下通过brew安装了redis