查看所有的 key
keys *
清空所有的 key
flushall
检查 key 是否存在
exists key
设置已存在的 key 的时长
expire key 10 // 设置 key 为 10s
查看 key 还剩多少时长
ttl key //-1 是永久 -2 是不存在
查看 key 的类型
type key
随机取出一个 key
randomkey
重命名 key
- rename key newkey // 如果 key 存在 直接覆盖
- renamenx key newkey // 如果 key 存在 则失败 返回 0
设置一定时间的 key
- setex key seconds val //key 时间 val
- psetex key seconds val // 和上面的功能一样 只不过多加一个 p 区别是上面的时间是秒级别的 这个是毫秒级别的
字符串类型:
得到指定范围的字符串
getrange key 0 2 // 闭合区间 取三个长度的字符串
得到旧的值并赋予新的值
- getset key newval
- // 比如说 get a 得到 A
- // 然后 getset a AA 还是得到 A
- // 但此时 get a 得到的是 AA
在字符串后面追加字符串
append key append // 意思是在 key 的 val 后面加上 append 字符串
hash 哈希 (其实就是一个 Map<String,Map<String,String>> 格式的数据结构)
设置值
hset map name liuzhonghua // 成功 1
检验是否存在
hexists map name // 存在 1 不存在 0
得到值
hget map name // 返回 liuzhonghua
得到 key 所有的值
- hgetall map
- // 返回 下面的这中格式 key val key val
- name
- liuzhonghua
- age
- 23
- sex
- man
得到值里面所有的 key 和所对应的 val
- hkeys map
- // 返回
- name
- age
- sex
- hvals map liuzhonghua
- 23
- man
list 列表
lpush list 1 2 3 4 5 6 //lpush 特点是最后放进去的总是在第一位
取一定范围的 list 值和特定索引的值
- lrange list 0 2 // 得到 1 2 3
- lindex list 3 // 得到 4
移除最后一个元素和第一个元素
- lpop list // 移除第一个元素 6 返回 6
- rpop list // 移除最后一个元素 1 返回 1
set 列表 (特点: 无序, 不保证你放进去的和得到的顺序一致, 值不重复)
增加
sadd set a b c d //key 是 set val 是 a b c d
得到这个集合的数量
scard set // 返回 4
查看 key 的 val
smembers set //a b c d
两个集合的差集
sdiff set1 set2 // 意思是 set1 里面的值减去 set2 里面的值 得到 set1 里面的值
两个集合的交集
sinter set1 set2
两个集合的并集
sunion set1 set2
返回指定数量的随机数
srandmember set1 2 // 随机返回 set1 的两个值
判断是否是集合的元素
sismember set1 a // 如果是 返回 1 否则返回 0
移除指定的 val
srem set1 a b // 移除 set1 集合里面的 a 和 b 返回成功的个数 2
随机移除 set 里面的 val 并返回移除的值
- spop set1 // 随机返回一个值
- zset (有序集合, 不重复)
增加 (还得必须这样写 真操蛋 看不懂 后面都是一对一对的 艹,,, 我懂了, 100 这样的数值是必须写的, 因为是靠他们排序的, 我们平常获取的值都是 abc
这样的, 切记)
zadd zset 100 a 200 b 300 c // key 是 zset a 的分数是 100 b 的分数是 200 c 的分数是 300
查看有几个元素
zcard zset // 返回 3
查看指定的某个值 (还得必须这样写 )
zscore zset a // 返回 100
返回符合指定区间的数量
zcount zset 0 200 // 返回 2 闭合区间 就是说 a 和 b 他俩所对应的值在 0 和 200 之间 符合要求
查看索引
- zrank zset a //0
- zrank zset b //1
- zrank zset c //2
增加值
zincrby zset 1000 a // 意思是让 a 的值增加 1000 当然 a 的顺序也会改变, 因为 zset 是有序的 是根据他所对应的值来排序的
获取指定的元素
zrange zset 0 100 // 意思是获取 zset 的前 100 个元素 a b c
如果想获取一对一对的 比如说 a 100 b 200 c 300
zrange zset 0 100 withscores
来源: http://www.bubuko.com/infodetail-2550453.html