
redis
文章平均质量分 88
cuit_618
不积跬步无以至千里
展开
-
redis分布式锁
redis分布式锁概述随着技术快速发展,数据规模增大,分布式系统越来越普及,一个应用往往会部署在多台机器上(多节点),在有些场景中,为了保证数据不重复,要求在同一时刻,同一任务只在一个节点上运行,即保证某一方法同一时刻只能被一个线程执行。在单机环境中,应用是在同一进程下的,只需要保证单进程多线程环境中的线程安全性,通过 JAVA 提供的 volatile、ReentrantLock、synchronized 以及 concurrent 并发包下一些线程安全的类等就可以做到。而在多机部署环境中,不同机器不原创 2021-05-28 22:51:15 · 541 阅读 · 0 评论 -
redis学习笔记12-键值设计和使用技巧
1. key设计 可读性和可管理性:数据库名:表名:id,如用户中心的用户表里的数据,usersystemconter:usertb:128,表示用户中心系统里的用户表里id为128这条数据。 简洁性:在保证语义的前提下,控制key的长度,在数据量很大的情况下,也能节省一定的内存,如usersystemconter:usertb:128可以简化成usys:utb:128。...原创 2019-06-03 22:41:33 · 363 阅读 · 0 评论 -
redis学习笔记11-缓存设计
1. 缓存的收益和成本 缓存的收益: 1)加速读写:缓存通常都是全内存的,通过缓存的使用可以有效地加速读写,优化用户体验。 2)降低后端负载:帮助后端减少访问量,降低了后端的负载。 缓存成本: 1)数据不一致性:缓存层和存储层的数据存在着一定时间窗口的不一致性,时间窗口跟更新策略有关。 2)代码维护成本:加入缓存后,需要同时处理缓存层和存...原创 2019-06-02 17:20:11 · 611 阅读 · 0 评论 -
redis学习笔记10-集群
当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构方案达到负载均衡的目的。Redis Cluster是Redis的分布式解决方案,在3.0版本正式推出,有效地解决了Redis分布式方面的需求。1. 数据分布1.1 数据分布理论 分布式数据库把数据集划分到多个节点上,每个节点负责整体数据的一个子集。需要重点关注的是数据分区规则。常见的分区规则有如下几种。 1....原创 2019-06-02 13:28:07 · 1348 阅读 · 0 评论 -
redis学习笔记9-哨兵
1. redis高可用原来1.1. 主从模式的问题 当主节点出现故障时,需要手动进行切换。 手动切换步骤: 1)手动将一个从节点晋升为主节点 2)修改应用方的主节点地址 3)通过命令的方式让他从节点去复制新的主节点 4)老的主节点上线后,通过命令的方式让它去复制新的主节点1.2 高可用方案-redis哨兵模式 当主节点出...原创 2019-06-01 11:51:50 · 225 阅读 · 0 评论 -
redis学习笔记6-主从复制
1. 配置1.1 建立复制 配置复制的方式有以下三种: 1)在配置文件中加入slaveof{masterHost}{masterPort}随Redis启动生效。 2)在redis-server启动命令后加入--slaveof{masterHost}{masterPort}生效。 3)直接使用命令:slaveof{masterHost}{masterPor...原创 2019-05-26 15:52:27 · 262 阅读 · 0 评论 -
redis学习笔记5-持久化
1.RDB RDB持久化就是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。 1.1 触发机制 手动执行如下指令: save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上环境不建议使用。过时的命令 bgsave命令:Redis进程执行fork操作创建子进程,RD...原创 2019-05-26 11:28:05 · 383 阅读 · 0 评论 -
redis学习笔记4-客户端管理
1.客户端管理1.1 client list指令 id:客户端连接标识 addr:客户端IP和端口 fd:如果为-1表示是redis内部的伪装客户端 name:客户端名字 1.1.1输入缓冲区:qbuf、qbuf-free qbuf:输入缓冲区总容量 qbuf-free:输入缓冲区剩余容量 ...原创 2019-05-12 22:05:38 · 1271 阅读 · 0 评论 -
redis学习笔记8-理解内存
1. 内存消耗 1.1 内存使用统计 info memory指令,重点内容如下: used_memory:redis内部数据所占内存总量 used_memory_rss:从操作系统角度看redis占用的内存总量 used_memory_peak:used_memory的峰值 mem_fragmentation_ratio:内存碎片率,us...原创 2019-05-25 16:55:13 · 423 阅读 · 0 评论 -
redis学习笔记3-其他功能
1. 慢查询分析 客户端提交指令给redis并返回执行结果,这个过程包括如下几个步骤: 提交指令->命令排队->执行命令->返回结果 而慢查询只是统计执行命令的时间,因此没有慢查询并不代表客户端没有超时慢查询配置:slowlog-log-slower-than:慢查询阈值,即执行时间多长被定义成慢查询slowlog-max-len:保留...原创 2019-05-12 14:59:34 · 181 阅读 · 0 评论 -
redis学习笔记7-阻塞
1. 发现阻塞 客户端记录redis相关日志时,需要具体到redis节点,在出现连接相关异常时能定位的具体节点。 服务器端应利用相关工具加强对redis集群的监控,发现不正常指标时应进行报警,并快速反应。主要监控指标为慢查询、持久化阻塞、连接拒绝、CPU内存网络磁盘使用过载。 阻塞出现的原因主要包括内在原因和外在原因2方面。2. 内在原因 2.1 API...原创 2019-05-25 11:20:39 · 277 阅读 · 0 评论 -
redis学习笔记2-数据结构
1. 几个全局命令查看所有键:keys * //需要遍历所有键,性能差键总数:dbsize //直接返回redis键总数变量,不会遍历所有键键是否存在:exists key //存在返回1删除键:del key [key...] //无论值是什么类型都能删除 返回删除键的个数键过期:expire key seconds //设置键过期时间,过期后自动删除,如果某个键设置了...原创 2019-05-11 21:57:16 · 230 阅读 · 0 评论 -
redis学习笔记1-基础知识
1. redis特性速度快:读写性能达到10万/秒,为什么快?数据存放在内存中,纯内存访问 用C语言实现,执行速度更快 单线程架构,避免多线程竞争 非阻塞I/O,利用I/O多路复用技术基于键值对的数据结构服务器基于键值对的数据结构,键为字符串,值可以为字符串、hash、列表、集合、有序集合、位图、地理信息定位丰富的功能键过期功能 发布订阅功能 支持lua脚本 简单的...原创 2019-05-11 21:48:25 · 153 阅读 · 0 评论 -
Redis学习总结(2)——Redis整合Spring结合使用缓存实例
摘要:本文介绍了如何在spring中配置Redis,并通过Spring中AOP的思想,将缓存的方法切入到有需要进入缓存的类或方法前面。一、Redis介绍什么是redis? redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和ha转载 2017-06-19 15:03:05 · 405 阅读 · 0 评论 -
Redis学习总结(1)——Redis内存数据库详细教程
1.Redis是什么2.redis的作者何许人也3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介8.redis数据结构 – strings9.redis数据结构 – lists10.redis数据结构 – 集合11.redis数据结构 – 有序集合12.redis数据结构 – 哈希13.聊聊redis持转载 2017-06-19 15:00:20 · 407 阅读 · 0 评论