
redis
SOUL-GIN
任凭弱水三千,只取一瓢饮
展开
-
redis_note_07_使用
redis缓存使用问题击穿现象: 大量客户访问某个热key, 由于key刚好过期/淘汰, 大量请求绕过redis, 直接落到数据库上; 导致数据库瞬间压力过大问题: 大量并发绕过缓存, 对数据库压力;处理: redis6.x之前为单进程单实例处理读写操作, 大量读同一key请求在redis队列中排队; 这时第一个请求未查询到key, 那么就可以设置一把锁( setnx() ), 只有第一个请求获取到这把锁, 可以访问数据库并加载缓存, 加载完成后再释放锁(同时设置过期时间, 避免死锁);原创 2020-12-01 18:04:40 · 99 阅读 · 0 评论 -
redis_note_06_主从复制及高可用
单机/单节点/单实例存在的问题单点故障容量限制并发压力AKFX: 全量, 镜像(节点的备份/主备)Y: 按功能/业务拆分数据至多个节点/实例Z: 对单个功能/业务, 按时间范围/ID范围(或优先级别等逻辑)进行逻辑拆分以一个系统的数据库(鉴权业务/功能1/功能2/报表业务)为例:X: 相当于整库的备份(主备)Y: 相当于将"鉴权业务/功能1/功能2/报表业务"这些业务包含的表, 从1个库中, 拆分至4个库(分库/垂直拆分)Z: 相当于将"鉴权业务"的用户表按ID拆分至多个库(原创 2020-11-22 18:15:54 · 452 阅读 · 1 评论 -
redis_note_05_rdb_aof
持久化缓存: 数据可以丢, 速度极快数据库: 数据绝对不能丢(非服务器断电), 速度+持久性方案快照/副本日志快照: RDB (redis db, 时点性)快照实现方案阻塞, redis不对外提供服务, 将所有的k-v转换成db.file后再提供服务非阻塞, redis对外提供服务, 并将所有k-v转换成db,file(问题点: 提供服务过程中, k-v会对应被更新, 如何处理?)对应linux系统父子进程管道( | )衔接, 前一个命令的输出作为后一个命令的原创 2020-11-12 22:03:17 · 83 阅读 · 0 评论 -
redis_note_04_pipeline_transaction_models
pipeline通过nc模拟客户端请求yum install -y nc#nc连接6379端口, 在阻塞窗口发送命令, 类似redis-clinc localhost 6379flushall+OKset k1 6+OKincr k1:7通过 echo 及 | 将多条命令一起发送pipeline可用于redis数据冷加载echo -e "setnx k2 1\n incr k2\n get k2" | nc localhost 6379:1:2$12消息订阅原创 2020-11-09 00:58:49 · 144 阅读 · 0 评论 -
redis_note_03_list_hash_set
list查看helpredis-cli --raw 连接成功127.0.0.1:6379> help @listlpush lpop rpush rpop (l r表示左右反向)同向命令(lpush lpop): 栈结构反向命令(lpush rpop): 队列结构lrange(这里的l表示为list类型,非方向)127.0.0.1:6379> flushdbOK127.0.0.1:6379> lpush k1 a b c d e f6127原创 2020-11-08 13:24:26 · 246 阅读 · 0 评论 -
redis_note_02_string
查看helpredis-cli --helpredis-cli连接成功, 进入 127.0.0.1:6379> 后, 可以使用 help @set 查看命令帮助; 或输入 help @ 后, 按tab键来查看命令; 或直接输入 help 可以查看help使用方式string字符数值bitmap基本使用setset redis "hello world"#输出OKget redis#输出"hello world"set “key” “value” nxset “ke原创 2020-11-07 22:02:14 · 86 阅读 · 0 评论 -
redis_note_01_install
whyredis(基于内存寻址)对比关系型数据库(基于磁盘IO)寻址速度更快redis(string, list, hashes, set, sorted set)相比memcache(key-value, String), 拥有更多的数据结构, 在插入表现类似(x=1; x=[1,2,3]; x={y=1, z=2}均能转化为k-v), 但是要从value中针对性取出部分数据时, redis的优势就体现出来了(计算向数据转移)redis对比aerospike, redis6版本(c标准库中的并发函原创 2020-11-07 16:52:41 · 123 阅读 · 0 评论