缓存双写一致性问题

缓存双写一致性问题首先缓存双写一致性是指缓存和数据库中的数据保持一致。当修改数据库中的数据时,需要同时修改缓存中的数据,以保证两者的一致性。如果只修改了数据库中的数据,而没有及时更新缓存,会导致缓存中的数据与数据库中的数据不一致,进而影响系统的正确性和性能。一般使用缓存的流程可以是这样:#rende

MoreKey & BigKey

MoreKey & BigKeyMoreKey问题假如现在Redis服务上有100W条记录,如何遍历?keys *可以吗?模拟大量的key首先要在Redis里面插入100W条记录,这里先生成一个临时文件使用命令:for((i=1;i<=100*10000);i++); do echo

Redis是单线程还是多线程

Redis是单线程还是多线程要说Redis是单线程还是多线程实际要看实际版本Redis的版本有很多,其架构也是不一样的。在Redis3的时候是单线程。从Redis4开始,严格意义上来说已经不是单线程了,而是负责处理客户端请求的线程是单线程,但是开始加了点多线程的东西。Redis6和Redis7彻底的

Redis淘汰策略

Redis淘汰策略Redis的最大占用内存如何查看Redis最大占用内存?在配置文件中可以找到配置项maxmemory <bytes>:# 设置内存使用限制为指定的字节数。# 当达到内存限制时,Redis将根据所选的淘汰策略尝试删除键。## 如果Redis无法根据策略删除键,或者策略设置

布隆过滤器

布隆过滤器BloomFilter布隆过滤器(Bloom Filter)是在1970年由布隆提出的。Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个

Redis集群(Cluster)-部署

Redis集群(Cluster)-部署开始部署本文使用docker在一台机器上部署6台Redis[3主3从]创建6个目录新建6个文件夹:mkdir redis1 redis2 redis3 redis4 redis5 redis6。修改配置文件# 端口号修改这里分别位 6371 6372 6373

Redis集群(Cluster)

Redis集群(Cluster)Redis Cluster是一种服务器Sharding技术,Redis3.0以后版本正式提供支持。主从复制和哨兵机制保障了高可用。虽然多个Slave扩展了读的能力,但是写能力和存储能力是无法进行扩展,就只能是Master节点能够承载的上限。如果面对海量数据那么必然需要

Redis哨兵(Sentinel)

Redis哨兵(Sentinel)Redis Sentinel,在Redis2.8版本开始引入。哨兵的核心功能是主节点的自动故障转移。哨兵的作用监控(Monitoring):Sentinel会不断检查主节点和从节点是否按预期工作。通知(Notification):Sentinel可以通过API向系统

Redis主从复制(Replication)

Redis主从复制(Replication)Redis主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master)以写为主,后者称为从节点(slave)以读为主,当master数据变化的时候,自动将新的数据异步同步到其他slave库。数据的复制是单向的,只

Redis发布-订阅

Redis发布订阅简介Redis发布订阅是一种消息通信模式,发送者(PUBLISHER)发送消息,订阅者(SUBSCRIBER)接收消息,可以实现进程间的消息传递。发布订阅实际就是一个轻量的队列,只不过数据不会被持久化,一般用来处理实时性较高的异步消息。Redis的SUBSCRIBE命令可以让客户端