redis
阿威,awin
纸上得来终觉浅,绝知此事要躬行
展开
-
缓存穿透,大面积key失效的解决方案
缓存穿透,大面积key失效的解决方案 <?php class cacheBreakdown { public $redis; public $queueName = 'queue_name'; public $error = ''; public $surviveTime = 20;//存活时间,以秒计算 //总共有两种解决方案 ...原创 2019-12-26 14:15:03 · 448 阅读 · 1 评论 -
Redis的过期策略和内存淘汰机制
过期策略 我们set key的时候,都可以给一个expire time,就是过期时间,指定这个key比如说只能存活1个小时,我们自己可以指定缓存到期就失效。 如果假设你设置一个一批key只能存活1个小时,那么接下来1小时后,redis是怎么对这批key进行删除的? 答案是:定期删除+惰性删除 所谓定期删除,指的是redis默认是每隔100ms就随机抽取一些设置了过期时间的key,检查其是否过期...转载 2019-12-12 17:06:13 · 89 阅读 · 0 评论 -
预先生成一些随机的令牌
<?php //生成令牌 $arr = range(100, 999); //shuffle 打乱令牌 shuffle($arr); //防止存入信息过长。信息分块存储 $arr = array_chunk($arr, 10); $redis = new \Redis(); $redis->connect('192.168.168.30'); $redis->auth('red...原创 2019-12-12 16:42:08 · 171 阅读 · 0 评论 -
redis 主从、读写 相关
1.配置主从 主:6379 从6380 a,配置主从复制方式一、新增redis6380.conf, 加入 slaveof 192.168.152.128 6379, 在6379启动完后再启6380,完成配置; b,配置主从复制方式二、redis-server --slaveof 192.168.152.128 6379 临时生效 c,查看状态:info replication d,...原创 2019-12-10 18:14:27 · 446 阅读 · 0 评论 -
redis 实现消息队列的代码。
redis 实现消息队列的代码。 <?php ini_set('default_socket_timeout', -1); try{ $redis = new \redis(); $redis->pconnect('127.0.0.1'); $redis->setOption(\Redis::OPT_READ_TIMEOUT, -1); $redi...原创 2019-12-10 11:55:06 · 345 阅读 · 0 评论 -
redis 的一些理解
1.redis 单台容易出现故障 2.单台会 出现读写的瓶颈 3.单台可能会出现容量(20G)不够的问题。 解决思路逐步演进: 1.先主从备份,防止单台故障出现缓存不可用的问题。 2.然后读写分离,配合哨兵机制,可以实现读写瓶颈的一些问题,以及故障的发现和转移。 3.利用在应用层使用一致性哈希等的手段,可以实现redis的扩容,但是不容易扩展以及收缩。 4.redis cluster 是redis...原创 2019-12-09 12:11:17 · 77 阅读 · 0 评论 -
redis主从、哨兵、集群的区别
关于redis主从、哨兵、集群的介绍网上很多,这里就不赘述了。 一、主从 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据。 。但是由于数据是存储在一台服务器上的,如果这台服务器出现硬盘故障等问题,也会导致数据丢失。为了避免单点故障,通常的做法是将数据库复制多个副本以部署在不同的服务器上,这样即使有一...转载 2019-12-02 16:52:31 · 1259 阅读 · 0 评论