
redis
文章平均质量分 82
redis底层数据结构和集群的数据同步机制原理
痴迷的小小工匠
在繁碌的生活中,做一个小小工匠,痴迷其中
展开
-
redis(1)(2)——数据类型和应用场景、命令行操作
一、连接 启动服务 ./redis-server redis.conf 连接 ./redis-cli -h 127.0.0.1 -p 6379 或者 ./redis-cli 二、Redis数据类型和应用场景 Redis是一个Key-Value的存储系统,使用ANSI C语言编写。 注意:Redis中命令是忽略大小写,(set SET),key是不忽略大小写的 (NAME name) 2.1 Key的设计 key的类型是字符串。 1. 用:分割 2. 把表名转换为key前缀,.原创 2021-06-25 07:41:50 · 215 阅读 · 0 评论 -
redis(1)(3)——底层数据结构
Redis作为Key-Value存储系统 RedisDB结构 Redis中存在“数据库”的概念,该结构由redis.h中的redisDb定义。 当redis 服务器初始化时,会预先分配 16 个数据库 所有数据库保存到结构 redisServer 的一个成员 redisServer.db 数组中 redisClient中存在一个名叫db的指针指向当前使用的数据库 ...原创 2021-06-24 07:25:39 · 141 阅读 · 0 评论 -
redis(4)(1)——(总结)缓存、分布式锁
缓存问题 缓存穿透 缓存穿透是指在高并发下查询key不存在的数据,会穿过缓存查询数据库。导致数据库压力过大而宕机 解决方案: 对查询结果为空的情况也进行缓存,缓存时间(ttl)设置短一点,或者该key对应的数据insert了 之后清理缓存。 问题:缓存太多空值占用了更多的空间 使用布隆过滤器。在缓存之前在加一层布隆过滤器,在查询的时候先去布隆过滤器查询 key 是否 存在,如果不存在就直接返回,存在再查缓存和DB。 ...原创 2021-06-20 22:25:15 · 148 阅读 · 0 评论 -
redis(3)(2)——Cluster分区与集群
分区 分区是将数据分布在多个Redis实例(Redis主机)上,以至于每个实例只包含一部分数据 分区的意义原创 2021-06-20 20:52:54 · 397 阅读 · 0 评论 -
redis(1)(1)——缓存原理&设计
缓存基本思想 什么是缓存? 缓存原指CPU上的一种高速存储器,它先于内存与CPU交换数据,速度很快。 现在泛指存储在计算机上的原始数据的复制集,便于快速访问。 在互联网技术中,缓存是系统快速响应的关键技术之一 ,以空间换时间的一种技术(艺术) 缓存的使用场景 DB缓存,减轻DB服务器压力 一般情况下数据存在数据库中,应用程序直接操作数据库。 当访问量上万,数据库压力增大,可以采取的方案有: 读写分离,分库分表 当访问量达到10万、百万,需要引入缓存。 ...原创 2021-06-20 08:35:06 · 134 阅读 · 0 评论 -
redis(3)(1)——哨兵模式
哨兵(sentinel)是Redis的高可用性(High Availability)的解决方案: 由一个或多个sentinel实例组成sentinel集群可以监视一个或多个主服务器和多个从服务器。 当主服务器进入下线状态时,sentinel可以将该主服务器下的某一从服务器升级为主服务器继续提供服 务,从而保证redis的高可用性。 ...原创 2021-06-20 08:26:16 · 157 阅读 · 0 评论 -
redis(2)——主从复制
主从复制 Redis支持主从复制功能,可以通过执行slaveof(Redis5以后改成replicaof)或者在配置文件中设置 slaveof(Redis5以后改成replicaof)来开启复制功能。 一、特点 主对外从对内,主可写从不可写 主挂了,从不可为主 二、作用 2.1 读写分离 一主多从,主从同步 主负责写,从负责读 提升Redis的性能和吞吐量 需要注意点:主从的数据一致性问题 2.2 数据容灾 从机是主机的备份 需要注意点...原创 2021-06-17 07:56:29 · 233 阅读 · 0 评论 -
redis(4)(2)——(总结)分片原理、通信机制,选举原理
1,哨兵集群,在主节点宕机后,重新选举主节点期间,服务不可用 只能提供一个master 单节点,不要弄太大内存存储,不要超过10G 2,redis集群架构: 节点时分片存储:hash分片算法,不超过1000节点 3,分片原理: jedisCluster.set(源码里,对key,进行了getCRC16(key) & 16383 项目启动时,本地会缓存一份集群元数据,(透视redis底层通信...) 当本地缓存和服务器不一样时,也就是key所在位置不归自己管理了,服务端会发送重定向跳转请求,同时更原创 2021-04-05 20:30:59 · 136 阅读 · 2 评论