Redis知识合集(一):基础篇

发布于:2025-07-10 ⋅ 阅读:(18) ⋅ 点赞:(0)

命令

#切换数据库
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"


网站公告

今日签到

点亮在社区的每一天
去签到