Redis
Redis组件
微微笑再加油
很多时候,我们更需要做的就是闭上自己愿意争辩的嘴,放下所谓高贵的自尊,承认自己曾经所犯的错误,下定决心努力去修正它。这并不代表放弃,而是收获了一份成长。
展开
-
Redis之分布式锁
随着业务发展的需要,原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,单纯的 Java API并不能提供分布式锁的能力。为了解决这个问题就需要一种跨 JVM 的互斥机制来控制共享资源的访问,这就是分布式锁要解决的问题!4.解决redis原子性的问题,可以使用lua脚本进行锁的释放。2.避免锁长时间未释放,设置过期时间。1.基于数据库实现分布式锁.再次设置对应值会设置失败。1.redis设置锁。原创 2023-02-20 22:20:32 · 374 阅读 · 0 评论 -
Redis之集群搭建
redis的集群模式中可以实现多个节点同时提供写操作,redis集群模式采用无中心结构,每个节点都保存数据,节点之间互相连接从而知道整个集群状态。需要进入到redis安转目录下的src文件当中,使用redis-cli命令创建集群。2.分别编写每个配置,文件内容如下(每个配置文件替换一下涉及的端口的内容)把redis配置文件复制到指定位置,并创建6个配置文件。6个节点服务都启动了,并且生成了对应6个节点配置文件。输入yes确定如此分配之后,结果如下,搭建集群成功。4.使用集群命令创建集群。原创 2023-02-16 22:28:33 · 979 阅读 · 0 评论 -
Redis之哨兵模式
Sentinel(哨兵)是用于监控Redis集群中Master状态的工具,是Redis高可用解决方案,哨兵可以监视一个或者多个redis master服务,以及这些master服务的所有从服务。某个master服务宕机后,会把这个master下的某个从服务升级为master来替代已宕机的master继续工作。此选举出的主服务器为6381,6379自动变成从服务器,为down状态。当6379重启之后,则会自动加入当前主服务器6381的从服务器当中。5.重启6379服务器,自动变成6381的从服务器。原创 2023-02-15 22:54:39 · 322 阅读 · 0 评论 -
Redis之搭建一主多从
搭建redis一主多从的过程原创 2023-02-14 23:00:25 · 689 阅读 · 0 评论 -
Redis之事务
事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。批量操作在发送 EXEC 命令前被放入队列缓存,并不会被实际执行,也就不存在事务内的查询要看到事务里的更新,事务外查询不能看到。Redis中,单条命令是原子性执行的,但事务不保证原子性,且没有回滚。事务中任意命令执行失败,其余的命令仍会被执行。事务中的所有命令都会序列化、按顺序的执行。事务在执行的过程汇总,不会被其他客户端发送来的命令请求所打断。原创 2023-02-13 21:30:13 · 68 阅读 · 0 评论 -
Redis之整合到SpringBoot
Redis整合到SpringBoot步骤如下。4.编写Controller类简单调用测试。2.创建Redis配置类。3.填写Redis配置。原创 2023-02-09 21:48:42 · 174 阅读 · 0 评论 -
Redis之Geospatial类型
GEO,Geographic,地理信息的缩写该类型,就是元素的 2 维坐标,在地图上就是经纬度。redis 基于该类型,提供了经纬度设置,查询,范围查询,距离查询,经纬度 Hash 等常见操作。2.有效的纬度从 -85.05112878 度到85.05112878 度。3.当坐标位置超出指定范围时,该命令将会返回一个错误。1.有效的经度从 -180 度到 180 度。4.已经添加的数据,是无法再次往里面添加的。4.以给定的经纬度为中心,找出某一半径的元素。3.获取两个位置之间的直线距离。原创 2023-02-08 22:17:15 · 125 阅读 · 0 评论 -
Redis之HyperLogLog类型
比如数据集{1,3,5,7,5,7,8},那么这个数据集的基数集为{1,3,5,7,8},基数(不重复元素)为5.3.将一个或多个HyperLogLog合并到新HyperLogLog中。HyperLogLog是用来做基数统计的算法。1.添加命令 成功添加返回1 否则返回0。原创 2023-02-08 21:57:21 · 88 阅读 · 0 评论 -
Redis之Bitmaps类型
( 2 )Bitmaps 单独提供了一套命令 , 所以在 Redis 中使用 Bitmaps 和使用字符串的方法不太相同。可以把 Bitmaps 想象成一个以位为单位的数组数组的每个单元只能存储0和1,数组的下标在 Bitmaps 中叫做偏移量。(1) Bitmaps 本身不是一种数据类型,实际上它就是字符串( key-value ),但是它可以对字符串的位进行操作。4.对多个Bitmaps的and(交集)、or(并集)、not(非)、xor(异或)操作并将结果保存在destkey中。原创 2023-02-08 21:40:35 · 92 阅读 · 0 评论 -
Redis之 Zset类型
不同之处是有序集合的每个成员都关联了一个评分( score ),这个评分( score ) 被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了。3.返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max成员有序集成员按 score 值递增(从小到大)次序排列。Redis有序集合 zset 与普通集合 set 非常相似,是一个。2.返回有序集合key中,下标在n-m之间的元素。8.返回该值在集合中的排名,从0开始。原创 2023-02-07 22:19:44 · 188 阅读 · 0 评论 -
Redis之集合(Set)
Redis的Set是string类型的无序集合。6.随机从该集合中取出一个值,并删除(如果值都取完,删除key)11.返回两个集合的差集元素(key1中的,不包含key2中的)7.随机从该集合中取出n个值,不会删除值。所有的value都指向同一个内部值。8.把集合中的一个值移动到另一个集合。1.将一个多个元素加入集合key中。3.判断集合中是否存在某个值。10.返回两个集合的并集元素。9.返回两个元素的交集元素。2.取出该集合所有值。4.获取集合元素个数。5.删除集合中的元素。原创 2023-02-06 22:09:52 · 180 阅读 · 0 评论 -
Redis之 List(列表)类型
Redis列表是简单的字符串列表,按照插入顺序排序。Redis 列表命令如下:1.移出并获取列表的第一个元素:BLpop list timeout//如果列表为空,返回一个 nil 。 否则,返回一个含有两个元素的列表,第一个元素是//被弹出元素所属的 key ,第二个元素是被弹出元素的值。 Redis:0>blpop mylist 10 1) "mylist" 2) "chd"2.移出并获取列表的最后一个元素:BRpop list timeout//如果列表为空,返回一个 ni原创 2021-02-02 11:55:54 · 304 阅读 · 0 评论 -
Redis之 String类型
Redis的字符串相关命令如下:1.存/取值//存值Redis:0>set name chd"OK"//取值Redis:0>get name"chd"2.截取字符串:getrange key start endRedis:0>getrange name 0 1"ch"3.设置指定 key 的值,并返回 key 的旧值:getset key value// 返回给定 key 的旧值。 当 key 没有旧值时,即 key 不存在时,返回 nil 。//当 key原创 2021-02-01 17:23:10 · 64 阅读 · 0 评论 -
Redis之 Hash类型
Hash类型是String类型的key和value的映射表,或者说一个String集合。它特别适合存储对象,相比较而言,将一个对象类型存储在Hash类型里比存储在String类型里占用更少的内存空间,并方便存取整个对象。Hashl类型在Redis的应用如下:1.存取值的语法://存值//含义是hset是hash集合,user 是集合名字,name 是字段名,chd为其值hset user name chd//取值hset user name2.批量存储/获取多个键值对//批量存储hms原创 2021-02-01 16:29:14 · 205 阅读 · 0 评论 -
redis常用命令
1.删除指定索引的值:del key2.清空整个 Redis 服务器的数据:flushall3.清空当前库中的所有 key:flushdb原创 2019-08-30 09:02:18 · 198 阅读 · 1 评论 -
redis入门
1.解压redis后的文件原创 2019-08-29 19:55:33 · 132 阅读 · 0 评论