![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 91
Andr0meda
talk is cheap, show me the code!
展开
-
Redis 持久化
Redis 提供了两种持久化方式,即 RDB(Redis Database)和 AOF(Append-Only File)。原创 2024-01-14 10:55:10 · 856 阅读 · 1 评论 -
Redis事务与乐观锁
Redis 事务是一种将多个命令打包在一起执行的机制。通过使用事务,可以确保一系列命令在一次执行中依次执行,而不会被其他客户端的命令请求打断。开启事务:使用 MULTI 命令开启一个事务。之后的命令都会被添加到事务队列中,而不会立即执行。添加命令:在 MULTI 和 EXEC 命令之间,可以添加任意数量的 Redis 命令,这些命令会按照添加的顺序被放入事务队列中。执行事务:使用 EXEC 命令执行事务。Redis 会按照事务队列中命令的顺序依次执行这些命令。原创 2024-01-14 10:58:56 · 707 阅读 · 1 评论 -
Redis常用数据类型与基本命令指北
要使用字符串类型存储一个对象,那么需要将对象序列化成一个字符串来表达,但是这样无法提供对单个字段的操作,每次都需要将对象完整取出,这样十分消耗资源,同时字符串无法提供对单个字段的原子操作,容易产生条件竞争,因此可以使用散列类型存储。然而,跳跃表并不适合高效地执行诸如按照成员进行查找的操作,因此在 Redis 中,为了提供更高效的成员查找功能,有序集合还使用了一个辅助的数据结构——哈希表。ZDIFFSTORE:计算一个有序集合与一个或多个有序集合的差集,并将结果存储到一个新的有序集合中。原创 2024-01-14 11:00:15 · 832 阅读 · 1 评论 -
Redis 内部编码与优化方式
redis 为每种数据类型都提供了多种内部编码方式,以散列类型为例,通过散列表实现散列类型,此时查找和赋值操作时间复杂度为 O(1),但是当键中元素很少时,O(1)的性能并不会比 O(n)有明显的性能提高。所以此时 redis 会使用一种比较紧凑但是性能稍差的内部编码方式,内部编码方式对于开发者来说是透明的,当键中元素变多时,redis 就会自动调整内部编码方式,转换为散列表。查看一个键的内部编码方式可以使用"ziplist"OK"embstr"原创 2024-01-14 10:58:07 · 824 阅读 · 0 评论 -
Redis主从复制的集群模式
数据的复制是单向的,只能由主节点到从节点。但是当主节点崩溃时,情况就比较复杂了,需要先将一个从节点作为主节点,然后再将崩溃的原主节点作为从节点来恢复数据。这里就不介绍了,之后再总结。当从节点从主节点断开后,重连后从节点会发送 SYNC 命令来重新进行一次完整的复制操作,即使断开后的数据改变很小,也需要将完整的数据快照传输一份,这种方式显然不够理想。当开启复制且关闭主节点的持久化时,一定不要使用一些管理工具令主节点崩溃后自动重启,这样启动后主节点数据不但不会恢复,还会因为复制而导致从节点拥有的数据全部清空。原创 2024-01-14 10:54:10 · 923 阅读 · 1 评论