Redis
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
msw、
这个作者很懒,什么都没留下…
展开
-
Redis设置密码
1)打开配置文件redis.conf,找到requirepass关键字,后面就是密码。默认情况下是注释掉的,即默认不需要密码,。mac和liunx的配置文件是redis.conf;windows的配置文件redis.windows.conf。1)使用redis-cli连接上redis服务端,执行如下命令,设置密码为123456。2)执行完毕,无需重启,退出客户端,再次重新登录就需要输入密码了。......原创 2022-08-09 11:27:36 · 10841 阅读 · 1 评论 -
Redis缓存雪崩、穿透、击穿概念及解决办法
缓存穿透概念访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。解决方案采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤; 访问key未在DB查询到值,也将空值写进缓存,但可以设置较短过期时间。缓存雪崩概念大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增...转载 2020-03-04 18:33:12 · 334 阅读 · 0 评论 -
Redis的pipeline(管道),PHP使用pipeline
piplineredis的pipeline(管道)功能在命令行中没有,但redis是支持pipeline的,而且在各个语言版的client中都有相应的实现。pipline可以打包n条命令,一次性传输到服务端,然后再按顺序返回命令的执行结果。需要注意的是集群模式对于pipline不太友好,因为pipline要操作的key可能在不同的哈希槽上,此时就需要进行请求的转发,但是这是与pipline...原创 2020-03-04 15:11:05 · 1674 阅读 · 0 评论 -
Redis (error) CROSSSLOT Keys in request don't hash to the same slot
在解决这个问题之前我们先来理解几个概念哈希槽(hash slot)哈希槽是一个key的集合,Redis共有16384个哈希槽,每个key会通过算法来决定key被放到哪个槽中,单点rendis所有的哈希槽在一起,集群中每个节点负责一部分哈希槽。以有三个节点的集群为例:节点A包含0到5500号哈希槽 节点B包含5501到11000号哈希槽 节点C包含11001到16384号哈希槽...原创 2020-03-04 12:46:47 · 4759 阅读 · 0 评论 -
Redis的单线程为何能够高并发
设计成单线程的原由官方表示,因为redis是基于内存的操作,cpu不是redis的瓶颈,redis的瓶颈最有可能是机器内存的大小或者网络带宽。而且官方提供的数据是可以达到100000+的qps(每秒内查询次数),这个数据并不比采用单进程多线程 memcached 差!所以官方采用来单进程单线程的设计。支持高并发的原由1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。2、采用...原创 2020-03-03 18:27:12 · 334 阅读 · 0 评论 -
Redis命令常用
连接Redisredis-cli #连接redisredis-cli -h 127.0.0.1 -p 6379 -a auth aklredispass #远程连接redisselect index # 使用 index 号数据库Key操作exists key #确认一个key是否存在del key #删除一个keytype key #返回值的...原创 2020-03-03 17:07:27 · 217 阅读 · 0 评论 -
Laravel中使用redis命令
$predis = app('redis')->connection()->client();$predis->set('key','123');$predis->get('key');$predis->del('key');$predis->ttl('key');//获取缓存时间$predis->keys('st*');//模糊搜索...原创 2020-02-24 17:15:36 · 435 阅读 · 0 评论