Redis
文章平均质量分 63
自己学习的笔记
散人_xxian
无宗无派-散人修仙
展开
-
Redis的缓存穿透、缓存击穿、缓存雪崩
1、缓存穿透缓存穿透,是指查询一个数据源一定不存在的数据。正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进缓存。如果数据库查询对象为空,则不放进缓存。...原创 2021-12-27 17:06:13 · 469 阅读 · 0 评论 -
Redis-哨兵模式
反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。首先准备好一主两仆的环境。 6379端口为主机,6380端口、6381端口为从机。1.编辑sentinel.conf文件sentinel monitor mymaster 127.0.0.1 6379 1其中mymaster为监控对象起的服务器名称, 1 为至少有多少个哨兵同意迁移的数量。2.在文件所在目录下启动哨兵监控redis-sentinel sentinel.conf说明监.原创 2021-12-16 15:36:52 · 637 阅读 · 0 评论 -
Redis(主从复制-读写分离)
概念:主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主特点:读写分离,性能扩展 容灾快速恢复(当一台挂掉,可以快速切换)复制原理:Slave启动成功连接到master后会发送一个sync命令 Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令, 在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步 全量复制:而slave服务在接收到数据库文件数据后,.原创 2021-12-16 11:11:37 · 1365 阅读 · 0 评论 -
Redis持久化之AOF(Append Only File)
1、AOF(Append Only File)是什么以日志的形式来记录每个写操作(增量保存),将Redis执行过的所有写指令记录下来(读操作不记录), 只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis 重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作2、AOF持久化流程(1)客户端的请求写命令会被append追加到AOF缓冲区内;(2)AOF缓冲区根据AOF持久化策略[always,everysec,no]将操作sync同.原创 2021-12-16 10:16:08 · 676 阅读 · 0 评论 -
Redis持久化之RDF(Redis DataBase)
redis原创 2021-12-14 14:26:05 · 1202 阅读 · 0 评论 -
Redis jedis测试
一、创建maven项目,导入依赖<!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.6.3</version></depe原创 2021-11-25 11:18:13 · 778 阅读 · 0 评论 -
Redis的发布和订阅
Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。1、客户端可以订阅频道如下图2、当给这个频道发布消息后,消息就会发送给订阅的客户端发布订阅命令行实现打开一个客户端订阅chatSUBSCRIBEchat2、打开另一个客户端,给chat发布消息helloPUBLISH chat hello 返回的1是订阅者数量...原创 2021-08-29 22:33:13 · 81 阅读 · 0 评论 -
Redis新数据类型(Geospatial)
Redis 3.2 中增加了对GEO类型的支持。GEO,Geographic,地理信息的缩写。该类型,就是元素的2维坐标,在地图上就是经纬度。redis基于该类型,提供了经纬度设置,查询,范围查询,距离查询,经纬度Hash等常见操作。1、GEOADD(1)格式GEOADD<key>< longitude><latitude><member> [longitude latitude member...] 添加地理位置(经度,纬度,名称)..原创 2021-08-26 00:41:44 · 163 阅读 · 0 评论 -
Redis新数据类型(HyperLogLog)
遇到与统计相关的功能需求,比如统计网站PV(PageView页面访问量),可以使用Redis的incr、incrby轻松实现。像UV(UniqueVisitor,独立访客)、独立IP数、搜索记录数等需要去重和计数的问题如何解决?这种求集合中不重复元素个数的问题称为基数问题。解决基数问题有很多种方案:(1)数据存储在MySQL表中,使用distinct count计算不重复个数(2)使用Redis提供的hash、set、bitmaps等数据结构来处理以上的方案结果精确,但随着数据不断增加,原创 2021-08-26 00:31:49 · 143 阅读 · 0 评论 -
Redis新数据类型(Bitmaps)
Redis提供了Bitmaps这个“数据类型”可以实现对位的操作:1.Bitmaps本身不是一种数据类型, 实际上它就是字符串(key-value) , 但是它可以对字符串的位进行操作。2.Bitmaps单独提供了一套命令, 所以在Redis中使用Bitmaps和使用字符串的方法不太相同。 可以把Bitmaps想象成一个以位为单位的数组, 数组的每个单元只能存储0和1, 数组的下标在Bitmaps中叫做偏移量。1、SETBIT(1)格式SETBIT <key> <o原创 2021-08-25 14:14:48 · 501 阅读 · 0 评论 -
Redis-常见字符类型(sorted set)
Redis有序集合zset与普通集合set非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的每个成员都关联了一个评分(score),这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了。因为元素是有序的, 所以你也可以很快的根据评分(score)或者次序(position)来获取一个范围的元素。访问有序集合的中间元素也是非常快的,因此你能够使用有序集合作为一个没有重复成员的智能列表。ZADD <key>.原创 2021-08-24 11:42:06 · 79 阅读 · 0 评论 -
Redis-常见字符类型(hash)
Redis hash 是一个键值对集合。Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。类似Java里面的Map<String,Object>用户ID为查找的key,存储的value用户对象包含姓名,年龄,生日等信息,如果用普通的key/value结构来存储存储方式:通过key(用户ID) + field(属性标签) 就可以操作对应属性数据了,既不需要重复存储数据,也不会带来序列化和并发修改控制的问题HSET.原创 2021-08-24 00:48:31 · 141 阅读 · 0 评论 -
Redis-常见字符类型(set)
Redis set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的。Redis的Set是string类型的无序集合。它底层其实是一个value为null的hash表,所以添加,删除,查找的复杂度都是O(1)。一个算法,随着数据的增加,执行时间的长短,如果是O(1),数据增加,查找数据的时间不变SA原创 2021-08-23 22:35:48 · 235 阅读 · 0 评论 -
Redis-常见字符类型(List)
单键多值Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。它的底层实际是个双向链表,对两端的操作性能很高,通过索引下标的操作中间的节点性能会较差。LPUSH / RPUSH<key> <value1><value2><value3> 从左边/右边插入一个或多个值。从左边插入时:从右边插入时:LPOP / RPOP <key> 从...原创 2021-08-23 21:48:22 · 186 阅读 · 0 评论 -
Redis-常见字符类型(String)
String是Redis最基本的类型,一个key对应一个value,一个Redis中字符串value最多可以是512M。String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或者序列化的对象。原创 2021-08-23 16:07:32 · 179 阅读 · 0 评论 -
Redis中常见的命令
DBSIZE(查看当前库的大小)SELECT 数字(切换当前操作的数据库)SET key value(设置键值对)KEY *(得到所有键的值)GET key(得到键的值)EXISTS key(判断某个key是否存在)TYPE key 查看你的key是什么类型FLUSHALL(清除所有数据库)FLUSHDB(清除当前数据库)...原创 2021-08-23 00:35:26 · 90 阅读 · 0 评论 -
Redis的安装与启动
Redis学习笔记原创 2021-08-19 15:43:47 · 135 阅读 · 0 评论