Redis核心问题

几个Redis的核心问题:

1、怎么实现redis高可用集群?
2、redis为什么采用hash slot、而不用一致性hash算法?
3、redis分布式锁存在什么问题?怎么解决?
4、为什么redis可以采用单线程?
5、怎么解决热点数据问题?
6、 有哪些内存淘汰的方式?
7、 怎么解决内存横向扩展的问题?
8、在Redis集群模式下,如何进行批量操作?
9、是否有必要Redis集群模式不做读写隔离?
 

#Redis批量操作

如果执行的key数量比较少,就不用mget了,就用串行get操作。如果真的需要执行的key很多,就使用Hashtag保证这些key映射到同一台Redis节点上。简单来说语法如下:

对于key为{foo}.student1、{foo}.student2,{foo}student3,这类key一定是在同一个redis节点上。因为key中“{}”之间的字符串就是当前key的hash tags, 只有key中{ }中的部分才被用来做hash,因此计算出来的redis节点一定是同一个!

#Redis读写隔离

不做读写分离。我们用的是Redis Cluster的架构,是属于分片集群的架构。而Redis本身在内存上操作,不会涉及IO吞吐,即使读写分离也不会提升太多性能,Redis在生产上的主要问题是考虑容量,单机最多10-20G,key太多降低Redis性能.因此采用分片集群结构,已经能保证了我们的性能。其次,用上了读写分离后,还要考虑主从一致性,主从延迟等问题,徒增业务复杂度。

发布了91 篇原创文章 · 获赞 7 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/Ture010Love/article/details/102868884