
redis
AAA821
这个作者很懒,什么都没留下…
展开
-
缓存穿透,缓存击穿,缓存雪崩
1.缓存穿透我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,可能DB就挂掉了要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞,所以可以将每次查询为空也缓存起来,但这样会造成大量空缓存(不...原创 2018-07-17 17:29:44 · 282 阅读 · 0 评论 -
连接Redis集群出现Connection refused
1.确认帐号密码 地址 端口都没有问题2.连接集群单个节点可连。3.通过 cluster nodes命令看到集群中有两个节点挂了修复两个节点,重启集群就可以连接上了。...原创 2019-10-24 15:07:39 · 2229 阅读 · 0 评论 -
Redis用Eval报command keys must be in same slot解决
这个问题是在Redis集群下才会发生的。在Redis集群版实例中,事务、脚本等命令要求所有的key必须在同一个slot中,如果不在同一个slot中将返回以下错误信息(command keys must in same slot)在集群下,它会将数据自动分布到不同的节点(虚拟的16384个slot)它数据的路由分发,是通过计算key,所以只要key一样,则一定会被分到同一个slotR...原创 2019-01-30 16:00:28 · 12940 阅读 · 0 评论 -
Redis的主从复制
Redis的主从复制是为了读写分离,进一步提高Redis的性能redis怎么进行主从复制呢?redis复制主要是通过master server持久化的rdb文件实现的。master server 先dump出内存快照文件,然后将rdb文件传给slave server,slave server 根据rdb文件重建内存表。redis复制过程如下:1、slave server启动连接到mast...转载 2018-10-16 17:59:57 · 184 阅读 · 0 评论 -
(转)Redis的过期策略及内存满删除策略
转自:https://www.cnblogs.com/lukexwang/p/4694094.html设置过期时间可以用EXPIRE key seconds为给定key设置生存时间,当key过期时(生存时间为0),它会被自动删除更新生存时间可以对一个已经带有生存时间的key执行EXPIRE命令,新指定的生存时间会取代旧的生存时间。过期键的处理就是把过期键...转载 2018-10-16 17:20:23 · 1249 阅读 · 0 评论 -
Redis的性能瓶颈
转载自:https://www.cnblogs.com/qwangxiao/p/8535202.html1.首先Redis为什么这么快?1.基于内存,不会受到硬盘IO速度的限制2.单线程,避免了多线程切换导致的CPU消耗,也不用考虑锁的问题,不存在加锁释放锁的操作,也不存在因死锁而导致的性能消耗3.使用多路I/O复用模型,非阻塞IO 多路I/O复用模型是利用 select、po...转载 2018-10-03 11:38:55 · 11596 阅读 · 8 评论 -
redis的pub/sub机制
一个Redis client发布消息,其他多个redis client订阅消息,发布的消息“即发即失”,redis不会持久保存发布的消息;消息订阅者也将只能得到订阅之后的消息,通道中此前的消息将无从获得。 消息发布者,即publish客户端,无需独占链接,你可以在publish消息的同时,使用同一个redis-client链接进行其他操作(例如:INCR等) 消息订...转载 2018-10-12 18:29:25 · 1574 阅读 · 0 评论 -
Redis的有序集合set
redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。ZADD key score1 member1 [score2 mem...转载 2018-10-02 21:44:52 · 350 阅读 · 0 评论 -
Redis的使用场景
Redis的常用应用场景 redis使用内存提供存储,通过持久化功能保存数据。且针对request是单线程操作。这一系列特点使得redis具有十分神奇的功能。 1、查找最新的回复。 如果在传统的关系型数据库,这就需要使用select * from table where name="" order by time desc limit 100;这十分消耗...转载 2018-10-02 21:23:50 · 153 阅读 · 0 评论