
Redis
文章平均质量分 81
Redis学习笔记
GreyZeng
程序员,架构师,项目经理
展开
-
Redis 学习笔记八:集群模式
Redis Cluster实现了一种混合形式的查询路由,但并不是直接将请求从一个redis节点转发到另一个redis节点,而是在客户端的帮助下直接redirected到正确的redis节点。所以代理可以做集群,然后最前端通过LVS来做负载均衡,防止LVS挂掉,可以通过KeepAlived来调配LVS,同时,KeepAlived也可以作为代理层健康检查的工具。如何解决这个问题呢?即每次请求redis的实例是随机的,一部分客户端负责push数据,一部分客户端负责消费数据,这样的场景可以适用于消息队列。原创 2021-11-08 21:13:23 · 560 阅读 · 0 评论 -
Redis 学习笔记七:主从复制和哨兵
假如主机挂了,由于从只能读不能写,我们可以人为把其中的一台从机变成主(先在这个从机上执行:replicaof no one),然后让另外一个从机追随这个主即可,追随过程中,如果从机开启了replica-serve-stale-data=yes, 则从机在同步主机数据的时候,还可以查询自身的旧数据,主机维护的队列大小,防止从机重启后又挂掉,这个维护的是一个偏移量,如果写的频率不高,则可以设置为1mb,如果写的频率非常高,这个值要适当调大。引入多个Redis实例后,会出现数据一致性的问题,如何解决呢?原创 2021-11-08 21:08:26 · 539 阅读 · 0 评论 -
Redis 学习笔记六:持久化实验(AOF,RDB)
作者:Grey原文地址:博客园:Redis 学习笔记六:持久化实验(AOF,RDB)优快云:Redis 学习笔记六:持久化实验(AOF,RDB)AOF方式:https://blog.youkuaiyun.com/ctwctw/article/details/105173842RDB方式:https://blog.youkuaiyun.com/ctwctw/article/details/105265689对比:https://blog.youkuaiyun.com/ctwctw/article/details/105147277安装Redi原创 2021-11-08 20:59:48 · 251 阅读 · 0 评论 -
Redis 学习笔记五:缓存常见问题和解决方案
这是一个平凡的概率算法,基本上的假设是,我们的样本是这个密钥控件,并且我们不断重复过期检测,直到过期的keys的百分百低于25%,这意味着,在任何给定的时刻,最多会清除1/4的过期keys。当然,这样是不够的,因为有些过期的keys,永远不会访问他们。使用Redis set nx方法,加一把锁,只有这个人可以访问数据库,并把数据存入缓存,其他的流量就可以从缓存读取数据了。设置缓存时采用了相同的过期时间,导致缓存在某一时刻同时失效,请求全部转发到DB,DB瞬时压力过重雪崩。key的过期造成高并发访问数据库。原创 2021-11-08 20:49:30 · 192 阅读 · 0 评论 -
Redis 学习笔记四:Redis 并发很多的请求时候如何变得很快的呢?
例如使用Redis的管道(pipelining)在liunx系统上运行可以达到500K的RPS(requests per second) ,因此,如果您的应用程序主要使用O(N) 或者O(log(N)) 的命令,他们几乎不需要使用什么CPU。Redis 6.0,Redis又引入了多线程来完成请求数据的协议解析,进一步提升性能。然而,为了最大限度的使用CPU,可以在同一个服务器部署多个Redis的实例,并把他们当作不同的服务器来使用,在某些时候,无论如何一个服务器是不够的,我怎么提高多核CPU的利用率?原创 2021-11-08 20:10:37 · 330 阅读 · 0 评论 -
Redis 学习笔记三:Redis 有序集的基本使用和底层实现
我们可以使用 Redis 中的 sorted_set对数据进行排序。原创 2021-11-08 20:04:43 · 305 阅读 · 1 评论 -
Redis 学习笔记二:基本命令与使用场景
举个例子, 如果你本来想通过 INCR 命令将键的值加上 1 , 却不小心加上了 2 , 又或者对错误类型的键执行了 INCR , 回滚是没有办法处理这些情况的。Redis 命令只会因为错误的语法而失败(并且这些问题不能在入队时发现),或是命令用在了错误类型的键上面:这也就是说,从实用性的角度来说,失败的命令是由编程错误造成的,而这些错误应该在开发的过程中被发现,而不应该出现在生产环境中。要阅读它们,您需要取消序列化。拿到的k1值是aa,说明事务没有更新成功,因为在watch这段时间内,k1的值被修改了。原创 2021-11-08 16:55:50 · 320 阅读 · 0 评论 -
Redis学习笔记一:安装和配置
是根据你之前设置的 PREFIX 来生成的,所以要根据你之前设置的 PREFIX 来修改这个变量。Linux最好可以联网, 如果无法联网,请准备好 Redis 的离线安装包和相关依赖。如果遇到如上报错信息,可以将 install_server.sh 脚本的如下内容注释掉。定义每个选项内容,如果使用默认的,直接Enter即可,注,某些版本的 Redis 在选。注:其中的 redis_6379 和你之前安装的配置有关系,你可以进入如下目录看到。我这里选的是目前最新的版本,执行如下命令。原创 2021-11-08 15:14:39 · 1974 阅读 · 0 评论