Redis 数据类型整理

string
Redis-list:列表 在首尾都可以添加数据
lpush/rpush/lrange ---- 从左/从右/获取指定长度
lpush list01 1 2 3 4 5 倒序排列
rpush list02 1 2 3 4 5 正序排列
lrange list01 0 -1 获取list01 中的所有值
0到-1 从第0个获取到最后一个
左边推 右边推 添加 栈 先进后出 堆 先进先出

按照索引下标获取元素:
lrange list01 0 -1 获取所有
lindex list01 1 获取第二个

Redis 中返回nil就是空值,没有返回
负值也是可以的,就是倒着取

LREM 删除 LREM L3 2 3 删除L3中的2个3
一般不会报错,除非语法就错误了

如果是LREM L3 -2 3 就是倒着删

也可以移除所有与该值相等的,通过:LREM L3 0 5 删除所有的5
0是最小的,但是可以表示无限大

截取:
ltrim
ltrim 截取一段数据
通过xshell的方式可以在敲的指令后显示提示内容

通过这些可以列出一个用户浏览记录:
一个列表 保存了用户浏览了网站的某一些商品 用户的浏览记录可以保存5条,如果多了的话,就把先进的弹出去 只保留最新的浏览记录,
1.先判断,是否有值,
2.推值
3.截取

应用场景:
项目里的应用场景

Redis-hash
哈希类型:
hset user id 1
hget user id
hmset:设置多个
hgetall 获取所有hgetall user

del 可以删除任何类型的数据

哈希 键值对 一一对应的,

hexist key检测某个值是不是存在
hincrby 不存在就创建且赋值 存在就自增
hincrby user gender 1:
自增之后是什么样子的啊?
显示的内容有什么意义?
hincrby user gender 100
返回的102是什么意义
没有就创建 有就自增,
可以用于买了什么东西,买了多少个,没有就创建,有买过就在原基础上自增

哈希可以用于存储商城中的购物车

购物车我就理解了,没有添加就添加,如果添加过就在原基础上在添加若干个

集合 不重复的集合:
set:
重复了呢?自动去重
sadd:添加
sadd s1 1 2 4 4 5 6
敲回车会返回5个,因为重复的不作数
smembers: s1 可以显示
可以自动排序:数字可以排序,其他不会

哈希 的键是唯一的吗?唯一的啊!
但是不可能是有序的

sismember s1 4 判断某一个数是不是在,在就是1 不在是0
scard s1:判断集合元素个数

srem key value:
srem 删除某些元素
srem s1: 1 2
srandmember s2 3
随机去3个值 默认是1
并未修改原来的值 只是随机的显示几个值

spop s2 3
可以随机出栈3个值, 但是这个出去就没了,原来的值里面没有出的这几个了
smove:将memer元素从源中移动到目标中
从一个集合移动到另一个集合之中
其他操作:差并补
sinter :
去重 不会重复 比如关注 欧冠抽签

Redis-Zset
有序集合:
也是键值对 但是不能重复 有序集合和集合一样 是不能重复的
定义时无法定义
定义时 zadd
查看 zrange
用途可以用于存储有序且唯一的,zadd z1 1 lcy 2 lcy1 3 lcy2
这样会根据前面的1 2 3排序
可以看做是ID
zrange z3
zrange byscore z3 10 30 返回ID为10-30的内容
此时列出的是ID和内容
zcard 看总的条数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值