
redis
tgn123456
这个作者很懒,什么都没留下…
展开
-
redis-缓存击穿\穿透\雪崩
击穿在**高并发**请求下,key过期或者LRU,LFU进行了清除。导致大量请求并发访问数据库阻止并发到数据库1,get key 获得key2,setnx 设置锁3-1,ok,去 DB 获取到锁,去数据库查3-2,false,sleep -> 1 没有获取到锁,休眠一段时间,重复一步骤。或者设置key存在后直接返回zookeeper穿透从业务接收查询的...原创 2020-04-22 13:02:05 · 157 阅读 · 0 评论 -
redis-代理twemproxy、predixy、redis cluster
twemproxyalpha: listen: 127.0.0.1:22121 监听端口 hash: fnv1a_64 hash算法 distribution: ketama auto_eject_hosts: true redis: true 使用redis,默认memcached serv...原创 2020-04-22 11:03:18 · 447 阅读 · 0 评论 -
redis集群-解决单点故障和访问压力问题(主从、哨兵)
主从复制原则AFK原则X:全量,镜像Y:业务,功能Z:优先级,逻辑再拆分主从一致性一般采用最终一致性方案,redis使用异步复制方案,弱一致性有可能丢失数据故障转移主从一般使用奇数台。并且可以通过n/2+1俗称过半的机器势力范围,来判断是否可用状态。(少于n/2+1判定故障,会脑裂主要看分区容忍性,数据一致性要求是否很高)CAPCAP,一致性,可用性,分区容忍性。一致性和可用...原创 2020-04-21 00:24:42 · 1003 阅读 · 0 评论 -
redis-持久化RDB\AOF
RDB,redisdb时点与时点之间的窗口数据容易丢失,恢复速度较快save 阻塞bgsave fork创建子进程配置文件:snapshotting下,save实际上触发bgsavesave 900 1save 300 10save 60 10000父进程中60秒达到10000,进行fork存储。没有达到10000,触发300秒,达到10进行存储。没有达到10,触发900秒,...原创 2020-04-20 15:30:44 · 136 阅读 · 0 评论 -
redis-消息订阅、事务、布隆过滤器、回收策略、过期时间
PUB/SUBpublic channel text 发布消息subscibe channel 订阅消息事务redis单进程、单线程,在客户端并发请求时,会把最先提交事务(exec)的客户端一组操作,进行执行操作multi 开启事务exec 提交事务watch key 观察值,发现值被改变,事务不提交布隆过滤器通过布隆算法,位图标记...原创 2020-04-18 16:30:31 · 520 阅读 · 0 评论 -
redis数据类型-list、set、hash、sorted_set
List双向链表,并且key中存有head和tail指针,可以快速的定位到list的首尾节点l/r左右,以a,b,c为例,lpush:c,b,a rpush:a,b,clpush lpop/rpush rpop 同向命令,后进先出,栈 反向命令,先进先出,队列lrange key start end 查询元素,这里面l表示集合lindex key index ...原创 2020-04-16 23:48:27 · 171 阅读 · 0 评论 -
redis-深入string类型
redis-cli -h 帮助redis-cli -p port 进入指定端口redis-cli -p port -n dbname 进入指定端口指定数据库select dbname 在客户端中切换FLUSHDB 删库跑路help @TABstring字符串操作set key value nx(新增,没有才新增,有不新增)set key value xx(修改,有才修改,没...原创 2020-04-16 17:31:17 · 148 阅读 · 0 评论 -
Redis-缓存存在的意义,安装,redis为什么快
基于磁盘的数据库->缓存初期数据存储在文件中,随着文件变大,磁盘IO成为瓶颈。操作系统取出一扇区最小单位为4K,当文件变大,索引就相应增长,产生磁盘IO的成本问题由此产生了数据库,数据库最小数据页也是4K(同操作系统一致,可以增大大小),当只有这样时是同在操作系统中一样的。所以有索引,索引空间也是4K。这里面,关系型数据库必须给出schema,字段类型及字节宽度,以及存放时偏向于行级存储...原创 2020-04-16 13:03:46 · 282 阅读 · 0 评论