Redis命令
可能说小伙伴们在平时的开发当中,只关注于框架结合redis去使用,反而忽略了redis的一些命令,但是在面试当中面试官更关心你对于命令的使用,所以这一节主要说一些对于命令的使用
1. 字符串
字符串是我们在开发中使用非常多的一种数据类型,它的命令也是比较简单且易懂,我们举一些常见的使用案例!
以上就是redis字符串一些常见的命令使用方式,没有全部列举,有兴趣的小伙伴欢迎查阅资料,手动试一试!
2. 列表
Redis的列表允许用户从序列的两端推入或者弹出元素,获取列表元素,以及常见的列表操作。除此之外,列表还可以用来储存信息、最近浏览过的文章或者常用的联系人信息。
这里LPUSH,LPOP等同理不做展示了!!!
列表的一个主要优点在于它可以包含多个字符串值,这使得用户可以将数据集中在同一个地方。Redis的集合也提供了与列表类似的特性,但集合只能保存各不相同的元素。
3. 集合(set)
Redis集合以无序的方式来存储多个各不相同的元素,用户可以快速地对集合执行添加元素操作、移除元素操作以及检查一个元素是否存在于集合里。
4. 散列
Redis的散列可以将多个键存储到一个Redis键里面,从功能上来说,Redis为散列提供了一些与字符串值相同的特性,使得散列非常适用于将一些相关的数据存储在一起。
5. 有序集合(sorted set)
Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复,如果分数重复的会按照字典进行排序(ABCDEFG…)。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
1)ZRANGEBYSCORE salary -inf +inf # 显示整个有序集
2)ZRANGEBYSCORE salary -inf +inf WITHSCORES # 显示整个有序集及成员的 score 值
3)ZRANGEBYSCORE salary -inf 5000 WITHSCORES # 显示工资 <=5000 的所有成员
4)ZRANGEBYSCORE salary (5000 400000 # 显示工资大于 5000 小于等于 400000 的成员
6. 发布订阅
Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。
Redis 客户端可以订阅任意数量的频道。
当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:
演示redis发布与订阅:需要开启两个 redis-cli 客户端
第一个客户端:
我们创建了订阅频道名为 runoobChat:
第二个客户端:
在同一个频道 runoobChat 发布两次消息,订阅者就能接收到消息。
订阅者的客户端会显示如下消息
订阅与发布命令
7. Redis事务
Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证:
- 批量操作在发送 EXEC 命令前被放入队列缓存
- 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行
- 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中
一个事务从开始到执行会经历以下三个阶段:
- 开始事务
- 命令入队
- 执行事务
以上是redis事务一些简单的命令!
8. Redis键的过期时间
上述就是介绍的一些基本命令,希望学习的我们能脚踏实地,勤于思考,认真对待每一个知识!