redis学习笔记

简介

Redis是速度非常快的非关系型(NOSQL)数据库,可基于内存 亦可持久化的日志型、Key-Value数据库,

数据类型

在这里插入图片描述
按tab健可以命令补全

String 类型

> set hello world
OK
> get hello
"world"
> del hello
(integer) 1
> get hello
(nil)

mset 和mget可以设置多个String值

常用命令

incr age 
decr age
incrby age 2
decrby age 2
incrbyfloat score 1.1  

可以实现自增自减或加减等,

append hello world  //给hello追加world
strlen hello        //查看hello长度
  • 应用场景
    常规计数:微博数,粉丝数,访问量,文章数等。

Hash类型

key [field value]
快速理解Hash类型,类似于数据库,一个primary key 对应多个key value
在这里插入图片描述

hmset user1 name deer age 18   //这里primary key是user1,name,age都是key
hgetall user1          //获取userid=1的数据

在这里插入图片描述
hset hget分别是只存和只获取一组key value的 如hmset user1 name deer;

已经存入了user1后还可以继续用hset或者hmset继续追加

获取所有的value值
在这里插入图片描述

hdel user1 age  #删除,返回删除的个数
  • 应用场景,适合存储对象,比如商品信息,用户信息等等
    购物车 cart:001 prod:01 1 prod:02 1; 用户id作为key 商品id作为field 假如购物车作为value;

List

Redis list 的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销。

  • list常用命令
    在这里插入图片描述
rpush james c b a/从右向左插入cba, 返回值3
lrange james 0 -1 /从左到右获取列表所有元素 返回 c b a
lpush key c b a /从左向右插入cba
linsert james before b teacher /在b之前插入teacher
lrange key star end /索引下标特点:从左到右为0到N-1
lindex james -1 /返回最右末尾a,-2返回b
llen james /返回当前列表长度
lpop james /把最左边的第一个元素c删除
rpop james /把最右边的元素a删除
 

应用场景:关注列表,粉丝列表,消息列表等
另外lrange命令从某个索引开始读取到某个索引结束,可以用来实现分页功能

Set命令

Set是一个集合 保存多元素,与list不一样的地方是不允许有重复元素,集合是无需的,支持增删查改,还支持求交集并集差集等
在这里插入图片描述
常用set命令

exist user //检查user键值是否存在
sadd user a b c //向user插入3个元素,返回3
sadd user a b //若再加入相同的元素,则重复无效,返回0
smembers user //获取user的所有元素,返回结果无序
srem user a //返回1,删除a元素
scard user //返回2,计算元素个数
sismember user a //返回a是否是user的元素
sinterstore key1 key2 key3     //求交集,将交集存在key1内

应用场景:如微博的共同关注,把两个用户的关注放入两个集合中,求交集。如抽奖,用spop key number 命令抽取用户

setA={A,BC} setB={B, C}
交并集
1)集合与集合之间的交集
sinter setA setB ->得到集合{B,C}
2) 集合与集合之间的并集
sunio setA setB ->得到集合{A,BC}
3)集合与集合之间的差集
sdif setA setB ->得到集合{A}

Zset

Zset是有序集合
假设下列是打赏的zset

在这里插入图片描述

zcard key  //显示成员数量
ZRANk key member //显示某个成员排名
zrevrank key member  //显示某个成员逆序排名
ZREVRANGE key start stop [WITHSCORES]   //逆序显示成员
  • 应用场景
    按消息维度维护的场景,比如用户在线市场列表,直播打赏礼物排行列表等,微博热搜榜等,

Redis设置过期时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
尚硅谷是一个教育机构,他们提供了一份关于Redis学习笔记。根据提供的引用内容,我们可以了解到他们提到了一些关于Redis配置和使用的内容。 首先,在引用中提到了通过执行命令"vi /redis-6.2.6/redis.conf"来编辑Redis配置文件。这个命令可以让你进入只读模式来查询"daemonize"配置项的位置。 在引用中提到了Redis根据键值计算出应该送往的插槽,并且如果不是该客户端对应服务器的插槽,Redis报错并告知应该前往的Redis实例的地址和端口。 在引用中提到了通过修改Redis的配置文件来指定Redis的日志文件位置。可以使用命令"sudo vim /etc/redis.conf"来编辑Redis的配置文件,并且在文件中指定日志文件的位置。 通过这些引用内容,我们可以得出结论,尚硅谷的Redis学习笔记涵盖了关于Redis的配置和使用的内容,并提供了一些相关的命令和操作示例。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Redis学习笔记--尚硅谷](https://blog.csdn.net/HHCS231/article/details/123637379)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Redis学习笔记——尚硅谷](https://blog.csdn.net/qq_48092631/article/details/129662119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值