命令
#切换数据库
bd:0>select 2
"OK"
bd:2>dbsize
"0"
#清空数据库
bd:0>flushdb
"OK"
#设置值
bd:0>set name "lyt"
"OK"
#查看所有key
bd:0>keys *
1) "name"
#获取key
bd:0>get name
"lyt"
#查看key是否存在
bd:0>exists name
"1"
#设置过期事件
bd:0>expire name 10
"1"
#查看剩余过期时间
bd:0>ttl name
"2"
#查看key的类型
bd:0>type name
"string"
String类型
#拼接字符串
bd:0>append name lyt
"6"
#获取字符串
bd:0>get name
"zjclyt"
#获取长度
bd:0>strlen name
"6"
#设置值
bd:0>set views 0
"OK"
#自增
bd:0>incr views
"1"
#指定自增
bd:0>incrby views 3
"4"
#自减
bd:0>decr views
"3"
#设置过期时间
bd:0>setnx lock haha
"1"
#设置后key值不可修改
bd:0>setnx lock xixi
"0"
bd:0>get lock
"haha"
bd:0>
#先get再set
bd:0>getset k1 v1
null
bd:0>getset k1 v2
"v1"
List类型
在redis中,我们可以把list玩成队列、栈或者阻塞队列!
#从左插入
bd:0>lpush list 1
"1"
bd:0>lpush list 2
"2"
bd:0>lpush list 3
"3"
#从左查看所有元素
bd:0>lrange list 0 -1
1) "3"
2) "2"
3) "1"
#查看指定位置的元素,下标是从0开始的,[1,2]
bd:0>lrange list 1 2
1) "2"
2) "1"
#从左边弹出一个数据
bd:0>lpop list
"3"
#获取下标位置的元素
bd:0>lindex list 1
"1"
#查看元素长度
bd:0>llen list
"2"
#从左移除第一个为1的元素 lrem key num value
bd:0>lrem list 1 1
"1"
bd:0>lrange list 0 -1
1) "2"
Set类型
#添加元素
bd:0>sadd set v1
"1"
bd:0>sadd set v2
"1"
bd:0>sadd set v3
"1"
#查看所有元素
bd:0>smembers set
1) "v2"
2) "v3"
3) "v1"
#查看指定元素是否存在
bd:0>sismember set v1
"1"
bd:0>sismember set v4
"0"
#查看元素是否存在
bd:0>scard set
"3"
#移除指定元素
bd:0>srem set v1
"1"
bd:0>scard set
"2"
#随机获取一个元素
bd:0>srandmember set
"v3"
bd:0>srandmember set
"v2"
bd:0>srandmember set
"v2"
bd:0>spop set
"v2"
bd:0>sadd k1 a
"1"
bd:0>sadd k1 b
"1"
bd:0>sadd k1 c
"1"
bd:0>sadd k2 c
"1"
bd:0>sadd k2 d
"1"
bd:0>sadd k2 e
"1"
#差集
bd:0>sdiff k1 k2
1) "a"
2) "b"
bd:0>sdiff k2 k1
1) "d"
2) "e"
#并集
bd:0>sunion k1 k2
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
#交集
bd:0>sinter k1 k2
1) "c"
#移动元素
bd:0>smove k1 k2 c
"1"
Hash类型
#设置值
bd:0>hset user k1 v1
"1"
bd:0>hset user k12 v2
"1"
#取特定key的值
bd:0>hget user v1
null
bd:0>hget user k1
"v1"
#批量设置值
bd:0>hmset user k3 v3 k4 v4
"OK"
#获取所有key和value
bd:0>hgetall user
1) "k1"
2) "v1"
3) "k12"
4) "v2"
5) "k3"
6) "v3"
7) "k4"
8) "v4"
#删除值
bd:0>hdel user k3
"1"
#获取长度
bd:0>hlen user
"3"
#判断key是否存在
bd:0>hexists user k2
"0"
bd:0>hexists user k3
"0"
bd:0>hdel user k4
"1"
bd:0>hkeys user
1) "k1"
2) "k12"
bd:0>hvals user
1) "v1"
2) "v2"
Zset类型
案例思路:st排序存储班级成绩表,工资表排序!
普通消息,1,重要消息2,带权重进行判断!
排行榜应用实现,取Top N
#添加元素(携带分数)
bd:0>zadd rank 1 lyt
"1"
bd:0>zadd rank 2 zjc
"1"
bd:0>zadd rank 3 hyw
"1"
#按照分数排名 从小到大
bd:0>zrangebyscore rank -inf +inf
1) "lyt"
2) "zjc"
3) "hyw"
#获取所有值携带分数
bd:0>zrangebyscore rank -inf +inf withscores
1) "lyt"
2) "1"
3) "zjc"
4) "2"
5) "hyw"
6) "3"
#获取 (-∞,2]的数据
bd:0>zrangebyscore rank -inf 2 withscores
1) "lyt"
2) "1"
3) "zjc"
4) "2"
#获取数据 从大到小
bd:0>zrevrange rank 0 -1
1) "hyw"
2) "zjc"
3) "lyt"
#移除指定元素
bd:0>zrem rank lyt
"1"
#元素大小
bd:0>zcard rank
"2"
#分数在[1,1]的元素
bd:0>zcount rank 1 1
"0"
#分数在[1,2]的元素
bd:0>zcount rank 1 2
"1"