摘要:
Redis支持多个数据库,并且每个数据库的数据是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念。 Redis默认支持16个数据库(可以通过配置文件支持更多,无上限),可以通过配置databases来修改这一数字。 Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的 阅读全文
摘要:
maxmemory policy 配置的策略 noeviction: 不删除策略, 达到最大内存限制时, 如果需要更多内存, 直接返回错误信息。(默认值) allkeys lru: 所有key通用; 优先删除最近最少使用(less recently used ,LRU) 的 key。 volatil 阅读全文
摘要:
当数据帧长度在8bits 128bits范围内时,推荐CRC 8(CRC 8能够减少额外比特的开销,且有更好的性能表现) 当数据帧长度在128bits 2048bits范围内时,推荐CRC 12,CRC 16,CRC CCITT(CRC 12额外比特的开销更小,且用于6bit字符流的传输;对于16b 阅读全文
摘要:
redis是单线程(对命令的处理和连接的处理都是在一个线程中),如果有慢查询的话,会阻塞住之后的操作 由于Redis的单线程模型,理论上每个redis实例只会用到一个CPU, 也就是说可以在一台多核的服务器上部署多个实例(实际就是这么做的)。 但是Redis的AOF重写是通过fork出一个Redis 阅读全文
摘要:
新添加的节点是没有哈希曹的,所以并不能正常存储数据,需要给新添加的节点分配哈希槽。 增加节点的顺序是先增加Master主节点,然后在增加Slave从节点。 删除的顺序是先删除Slave从节点,然后在删除Master主节点。 分配方式 1. 在其他节点拿出适量的哈希槽分配到目标节点 2. 在指定的节点 阅读全文
摘要:
"知道为什么RedisCluster有16384个槽么?" Redis 集群并没有使用一致性hash,而是引入了哈希槽的概念。 Redis 集群有16384(2^14)个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽,集群的每个节点负责一部分hash槽。 这种结构很容易添加或 阅读全文