
Redis
文章平均质量分 78
主流缓存中间件
天航星
天河有尽后为涯,星海无边前作岸。
展开
-
Redis 01 概述
NoSQL(Not Only SQL),即不仅是SQL,泛指非关系型数据库。NoSQL 易扩展,NoSQL 数据库种类繁多(MongoDBRedis等),共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展,无形之间也在架构的层面上带来了可扩展的能力。大数据量下 NoSQL 数据库具有非常高的读写性能,这得益于它的无关系性,数据库的结构简单。NoSQL 数据库的典型代表就是Redis。原创 2022-03-17 11:06:00 · 228 阅读 · 0 评论 -
Redis 02 基础命令
中的数字即为数据库编号(0 号数据库为默认,不展示编号)。setex 键名称 生存时间 值。move 键名称 数据库编号。不同数据库存不同的值。则代表该键已经过期。exists 键名称。expire 键名称。原创 2022-03-23 16:13:00 · 50 阅读 · 0 评论 -
Redis 03 字符串
参考源版本本文章基于应用场景:计数器、统计多单位的数量、粉丝数、对象缓存存储。原创 2022-03-23 17:09:00 · 98 阅读 · 0 评论 -
Redis 04 列表
Rpoplpush1) "two"2) "three"127.0.0.1:6379> Rpoplpush list list2 # 移除列表最后一个元素并移动到新列表中"three"127.0.0.1:6379> Lrange list 0 -1 # 原来的列表1) "two"127.0.0.1:6379> Lrange list2 0 -1 # 新的列表1) "three"原创 2022-04-17 16:53:00 · 100 阅读 · 0 评论 -
Redis 05 集合
参考源版本本文章基于Set 中的值是不能重复的应用场景:共同关注。原创 2022-04-17 17:28:00 · 90 阅读 · 0 评论 -
Redis 06 哈希
参考源版本本文章基于哈希就是 key - map 的数据结构应用场景:对象存储。原创 2022-04-17 20:49:00 · 103 阅读 · 0 评论 -
Redis 07 有序集合
参考源版本本文章基于Zset 就是 Set 的有序集合应用场景:排行榜。原创 2022-04-17 21:28:00 · 179 阅读 · 0 评论 -
Redis 08 地理位置
参考源版本本文章基于Redis 的 GEO 特性在版本中推出, 这个功能可以将用户给定的地理位置信息储存起来。通常用以实现诸如附近位置、摇一摇这类依赖于地理位置信息的功能。geo 的数据类型为 zset。原创 2022-05-17 12:10:00 · 294 阅读 · 0 评论 -
Redis 09 基数
Redis 在2.8.9版本添加了 HyperLogLog 结构,用来做基数统计的算法其优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的,并且是很小的。每个 HyperLogLog 键只需要花费12 KB内存,就可以计算接近2 ^ 64个不同元素的基数。HyperLogLog 是一种算法,它提供了不精确的去重计数方案。基数比如数据集 {1, 3, 5, 7, 5, 7, 8}, 那么这个数据集的基数集为 {1, 3, 5 ,7, 8},基数(不重复元素)为 5。基数估计。原创 2022-05-24 16:37:00 · 210 阅读 · 0 评论 -
Redis 10 位图
Redis 从2.2版本增加了 Bitmap(位图)当需要统计用户一年的某些信息,如活跃或不活跃,登录或不登录,打卡或没打卡。如果使用普通的 key / value存储,则要记录 365 条记录,如果用户量很大,需要的空间也会很大。Redis 提供了 Bitmap 位图这种数据结构,Bitmap 就是通过操作二进制位来进行记录,即为 0 和 1。如果要记录 365 天的打卡情况,使用 Bitmap 表示的形式大概如下:0101000111000111......原创 2022-05-24 16:59:00 · 131 阅读 · 0 评论 -
Redis 11 配置
Redis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用 yes 启用守护进程。当 Redis 以守护进程方式运行时,Redis 默认会把 pid 写入 /var/run/redis.pid 文件,可以通过 pidfile 指定。port 6379指定 Redis 监听端口,默认端口为 6379。作者在自己的一篇博文中解释了为什么选用 6379 作为默认端口,因为 6379 在手机按键上 MERZ 对应的号码,而 MERZ 取自意大利歌女 Alessia Merz 的名字。原创 2022-05-25 17:10:00 · 230 阅读 · 0 评论 -
Redis 12 持久化
Redis 是内存数据库,即数据存储在内存。如果不将内存中的数据保存到磁盘,一旦服务器进程退出,服务器中的数据也会消失。这样会造成巨大的损失,所以 Redis 提供了持久化功能。RDB 持久化方式能够在指定的时间间隔内对你的数据进行快照存储。AOF 持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AO F命令以 Redis 协议追加保存每次写的操作到文件末尾,Redis 还能对 AOF 文件进行后台重写,使得 AOF 文件的体积不至于过大。原创 2022-05-25 18:23:00 · 92 阅读 · 0 评论 -
Redis 13 事务
Redis 事务的本质是一组命令的集合事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。所以说:Redis 事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。Redis 事务没有隔离级别的概念批量操作在发送EXEC命令前被放入队列缓存,并不会被实际执行。Redis 事务不保证原子性Redis中,单条命令是原子性执行的,但事务不保证原子性,且没有回滚。原创 2022-05-27 17:18:00 · 121 阅读 · 0 评论 -
Redis 14 发布订阅
Redis 发布订阅(pub / sub)是一种消息通信模式发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。订阅/发布消息图:频道和订阅频道的客户端之间的关系:当有新消息通过publish。原创 2022-05-27 17:45:00 · 92 阅读 · 0 评论 -
Redis 15 主从复制
主从复制,是指将一台 Redis 服务器的数据,复制到其他的 Redis 服务器前者称为主节点(master / leader),后者称为从节点(slave / follower)。数据的复制是单向的,只能由主节点到从节点。Master 以写为主,Slave 以读为主。一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。默认情况下,每台 Redis 服务器都是主节点。原创 2022-06-08 00:01:00 · 103 阅读 · 0 评论 -
Redis 16 哨兵模式
主从切换技术的操作是:当主机宕机后,需要手动把一台从机切换为主机。这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。Redis 从2.8开始正式提供了Sentinel(哨兵)架构来解决这个问题。它是“谋朝篡位”的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从机转换为主机。哨兵模式是一种特殊的模式,首先 Redis 提供了哨兵的命令,哨兵是一个独立的进程,它会独立运行。原创 2022-06-08 23:04:00 · 376 阅读 · 0 评论 -
Redis 17 缓存穿透 缓存击穿 缓存雪崩
参考源版本本文章基于。原创 2022-06-08 23:29:00 · 98 阅读 · 0 评论 -
Redis 18 Jedis
Jedis 是 Redis 官方推荐的 Java 连接开发工具。Jedis 客户端同时支持单机模式分片模式集群模式通过构建Jedis类对象实现单机模式下的数据访问。通过构建类对象实现分片模式的数据访问。通过构建类对象实现集群模式下的数据访问。Jedis 客户端支持单命令和 Pipeline 方式访问 Redis 集群,通过 Pipeline 的方式能够提高集群访问的效率。原创 2022-06-09 18:39:00 · 88 阅读 · 0 评论 -
Redis 19 SpringBoot集成
SpringBoot 整合 Redis 是使用SpringData实现的。SpringData 是与 SpringBoot 齐名的顶级项目,整合了对常用数据库的模板型操作。在 SpringBoot 2.x 之后,Jedis 被 Lettuce 替代了。Jedis采用的直连,多个线程操作的话,是不安全的。如果想要避免不安全,就要使用Jedis pool连接池解决。这样是有一些弊端的,比如线程数量太多了,Redis 服务就比较庞大,而且它是阻塞的。Lettuce。原创 2022-06-09 23:06:00 · 116 阅读 · 0 评论