个人博客

redis有序集合底层实现

redis完全基于内存操作,所以它的性能出色,而且redis有很丰富的数据类型,在电商项目中后端开发的常用redis解决性能问题。其中有序集合zset就是常用的基本数据类型之一,每个member都带有score,可用于排序相关的功能,比如:价格排序,销售额排序等等。

Continue Reading

redis数据类型的底层实现

redis是一种key-value型的内存数据库,它所有的key都是字符串,而value常见的数据类型有五种:string、list、set、zset、hash。redis的这些数据结构, 在底层都是使用redisObject来进行表示。redisObject中有三个重要的属性, 分别是type、 encoding 和 ptr。

Continue Reading

redis哨兵原理

哨兵是redis提供的一种高可用的方式,哨兵是一个独立的进程,通过发送命令、等待redis服务响应,从而实现集群的监控和故障的转移。它的原理的实现主要包括哨兵的三个定时任务、主观下线和客观下线、哨兵的领导者选举、故障转移。

Continue Reading

redis集群搭建

redis是一个开源的key value存储系统,在redis3.0之前只支持单例模式,在redis3.0之后才开始支持集群模式。一般情况下,哨兵模式已经能满足一般的生产需求,具备了redis服务的高可用性。但是当数据达到一台服务器存放不下的情况,主从模式或者哨兵模式就不能满足需求。这个时候就需要对数据进行分片,将数据存储到多个redis实例中,集群模式就能解决单机redis容量的问题。

Continue Reading
Continue Reading

redis高可用——哨兵模式

哨兵模式是redis实现高可用的实现方式之一,使用一个或者多个哨兵组成集群,对redis节点进行监控,在redis主节点宕机的情况下,哨兵能将从节点中选一个升级为主节点,进行故障节点的移除,实现系统的高可用。

Continue Reading

redis缓存雪崩、缓存击穿、缓存穿透

redis缓存的使用,极大的提升了应用程序的性能和效率,特别是在查询数据方面。其中它也带来了一些问题,其中最要害的就是数据一致性问题,如果对数据的一致性要求很高,就不能使用缓存。另外也有一些典型的问题,就是缓存雪崩、缓存击穿、缓存穿透。目前业界也有一些流行的解决方案。

Continue Reading

redis的数据类型

redis支持了这些多种常见的数据类型,现在被广泛的应用在各大公司的内部,它提供了string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)等五种数据类型。

Continue Reading
  • 1
  • 回到顶部