一、通用数据结构操作
flushdb #清空所有数据
keys * #查找所有的key
get name #获取key为name的值
set name xiaozheng #设置key为name的值为xiaozheng
randomkey #获取随机一个key
type key #获取key的类型
exists key #判断key是否存在 0->不存在 1->存在
del key #删除某一个key
rename key key2 #将key的名称改为key2 注:如果key2已存在,则key2的原值被覆盖
renamenx key key2 #将key的名称改为key2注:nx->not exists,即key2不存在时,作改名动作
move key 1 #将key移动到下标为1的那个数据库
ttl key #查看key有效期 :返回秒 -1->永久有效期
expire key #设置key的有效期:单位秒
persist key #设置key的有效期为永久
数据库数量:redis.conf :databases 16 16个服务器
select 0(1、2、3、……) #切换服务器到第0个服务器
二、字符串
set key value [ex 秒]|[px 毫秒] [nx]|[xx] #nx->key不存在时执行操作 xx->key存在时执行操作
mset key0 value0 key1 value1 key2 value2 #设置多个key value
mget key0 key1 key2 #获取多个key的value
append key value #为key的value后面追加value
setrange key offset value #把字符串的offset偏移字节,改成value
getrange key start stop #获取字符串中[start stop]范围的值注:stop为负数时代表从后往前数
getset key newvalue #获取并返回旧值,设置新值
incr key #指定key的值加1,并返回加1后的值注:不存在的key当成0,再incr操作 、64个有效符
incrby key num #指定key的值加num,并返回加num后的值
incrbyfloat key floatnum #浮点数添加,并返回添加后他值
decr key #指定key的值减1,并返回减1后的值
decrby key #指定key的值减num,并返回减num后的值
三、Link
lpush link value #把值插入到链表头部
rpush link value #把值插入到链表尾部
lrange link start stop #取出链表中第start到第stop个下标的元素,start为0,stop为-1时取出所有元素
lpop link #弹出链表头部的一个值
rpop link #弹出链表尾部的一个值
lrem link count value #删除链表中值为value的对象,并且只删除count的个 当count为负数时:表示从尾部开始删除
ltrim link start stop #截取链表中第start到第stop个下标的元素
lindex link index #返回链表中的下标为index的元素
llen link #查看链表长度
linsert link after|before search value #在key链表中寻找search值之前|之后,插入value。注:一旦找到一个search后,命令结束。
rpoplpush link1 link2 #把link1的尾部放到link2的头部
brpop,blpop key timeout #等待弹出key的尾/头元素,timeout为超时时间。如果timeout为0,则一直等待。
场景:长轮询、Ajax、在线聊天时能用到 例如:1.brpop working 60 2.lpush working a
四、Set集合(无序性、唯一性)
sadd set value #添加元素
srem set value #删除元素为value的元素
spop set #返回并删除集合中set中1个随机元素
smembers set #返回集合里面所有元素
srandmember set #返回set集合中1个随机元素
sismember set value #判读value是否在集合set中
scard set #返回set集中元素的个数
sinter set1 set2 set3 #求出set1 set2 set3集合的交集,并返回
sinterstore dest set1 set2 set3 #求出set1 set2 set3集合的交集,并赋值给dest
sunion set1 set2 set3 #求出set1 set2 set3集合的并集,并返回
sdiff set1 set2 set3 #求出set1 set2 set3集合的差集,并返回
五、Order Set(有顺集合)
zadd key score1 value1 score2 value2 #添加元素:score1、score2为排序
zrange key start stop #查询排名从第start到第stop的元素,并返回
zrangebyscore key start stop [withscores] #查询排序范围为start到stop的元素。withscores是把score打印出来
zrangebyscore key min max limit offset N [withscores] #集合(升序)排序后,取score在[min,max]内的元素,并跳过offset个,取出N个
zrank key member #查询member的排名(升序)
zrevrank key member #查询member的排名(降序)
zrem key member #将member的元素删除
zremrangebyscore key start stop #将score为start到stop的元素删除
zremrangebyrank key start stop #将key中第start到stop名的元素删除(升序)
zcard key #统计集合有多少个元素
zcount key start stop #统计score在start到stop的元素有多少个
zscore key member #返回有续集key中member的score
zinterstore dest numkeys key1 key2 [aggregate sum|min|max] #求key1、key2的交集,聚合方法 sum|min|max,聚合结果保存在dest集合里
zunionstore dest numkeys key1 key2 [aggregate sum|min|max] #求key1、key2的并集,聚合方法sum|min|max,聚合结果保存在dest集合里
六、Hash
hset hash key value #设置hash中的key域的值为value
hmset hash key1 value1 key2 value2 #设置hash中的key1域的值为value1,key2域的值为value2
hget hash key #获取hash中key域的值
hmget hash key1 key2 key3 #获取hash中key1 key2 key3域的值
hgetall hash #获取hash中所有的域与其值
hdel hash key #删除hash中的key域
hlen hash #返回hash中元素的数量
hexists hash key #判断hash中有没有key域
hincrby hash key value #把hash中的key域的值增长整型值value
hincrbyfloat hash key value #把hash中的key域的值增长浮点值value
hkeys hash #返回hash中所有的key
hvals hash #返回hash中所有的value