Redis sentinel(哨兵)模块已经被集成在redis2.4+的版本中,尽管目前不是release,不过可以尝试去使用和了解,事实上sentinel还是有点复杂的.   sentinel主要功能就是为Redis M-S(master,slaves)集群提供了1)master存活检测 2)集群中M-S服务监控 3) 自动故障转移,M-S角色转换等
转载 2023-08-20 10:07:46
233阅读
我曾遇到过这么一个需求:要用Redis保存5000万个键值对,每个键值对大约是512B,为了能快速部署并对外提供服务,我们采用云主机来运行Redis实例,那么,该如何选择云主机的内存容量呢?我粗略地计算了一下,这些键值对所占的内存空间大约是25GB(5000万*512B)。所以,当时,我想到的第一个方案就是选择一台32GB内存的云主机来部署Redis。因为32GB的内存能保存所有数据,而且还留有7
## Redis Cluster集群重复key解决方案 在Redis Cluster集群中,每个节点负责一部分数据的存储和处理。如果在集群中有重复key存在,会导致数据的一致性问题。本文将介绍如何解决Redis Cluster集群中的重复key问题,并提供一份带有代码示例的方案。 ### 问题描述 在Redis Cluster集群中,如果多个节点同时存储了相同的key,会导致读取数据时无法
原创 10月前
306阅读
Redis可重入锁的核心流程--可重入锁的加锁机制(1)相同线程重复加锁-重入加锁 我们继续看下执行加锁的脚本:记得第一次加锁时,key是不存在的,所以那时我们才能成功将当前线程的信息、设置到key的hash数据结构中,表示当前线程已经加锁成功。但是现在是相同线程再次过来对同一key加锁,那么key已经存在这个条件当然就不成立了,接下来就到下一个if分支。下一个if分支逻辑为:hexists an
转载 2023-08-04 17:39:11
268阅读
Redis具有的特点以及优势Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-slave模式的数据备份。Redis的几种数据类型String(字符串):使用的最多和json一起使用。List(字符
转载 2023-07-21 10:33:13
205阅读
redis set介绍 ?:集合类型的常用操作是向集合中加入或删除元素、判断某个元素是否存在等,由于集合类型的Redis内部是使用值为空的散列表实现(键值对,键唯一,值为空,存入set中的数据作为key,所以是不可重复的,无序的),所有这些操作的时间复杂度都为0(1)。 ?:Redis还提供了多个集合之间的交集、并集、差集的运算。普通命令 ?:增加元素sadd key member [member
转载 2023-05-25 14:12:19
665阅读
一 下载安装 推荐到redis中文网:http://www.redis.com.cn/ 下载,(国外redis官网https://redis.io/相对较慢,不推荐) 二 解压后,可以看到 作为redis客户端 的redis-cli.exe 和 作为redis服务器端redis-server.exe 。 三 双击redis-server.exe 便可打开redis本地服务器,同样打开客户端会话。
转载 2023-08-10 13:44:18
154阅读
简介Redis的Set是String类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。 Redis中集合是通过哈希表实现的,所以添加、删除、查找的复杂度都是O(1)。 集合中最大的成员数为2的32次方 - 1。 Redis中的Set类似于Java中的HashTable集合。赋值语法SADD key member [member …]向集合set中添加一个或多个成员。Exampl
转载 2023-06-13 20:19:30
828阅读
集合类型Redis 中的集合类型,也就是 set。在 Redis 中 set 也是可以保存多个字符串的,经常有人会分不清 list 与 set,下面我们重点介绍一下它们之间的不同:set 中的元素是不可以重复的,而 list 是可以保存重复元素的。set 中的元素是无序的,而 list 中的元素是有序的。set 中的元素不能通过索引下标获取元素,而 list 中的元素则可以通过索引下标获取元素。除
转载 2023-08-25 11:28:35
216阅读
文章目录Redis基础redis简介redis数据类型Redis高级知识redis数据备份与恢复恢复数据Bgsaveredis安全redis性能测试redis客户端连接redis管道技术Java使用redis Redis基础redis简介redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以
转载 2023-08-17 23:13:06
229阅读
数据类型为set。可以保证set内数据唯一。场景:生成订单号,因为要求订单号是绝对不能重复的,所以数据库中要设置为unique索引。但是其实可以通过redis,set来做每天的订单集合。比如A客户的订单号201803041,B客户并发了相同的订单号,但是A客户插入了set集合,B客户插入就会返回0,表示重复,需要再次生成,一定程度上减少了数据库unique的验证。#添加到set集合中SADD&nb
redis数据类型【重点】redis 使用的是键值对 保存数据。(map) key:全部都是字符串value:有五种数据类型      Key名:自定义,key名不要过长,否则影响使用效率Key名不要太短,最好是有意义。 4、redis命令-String命令【重点】字符串类型是Redis中最为基础、常用的数据存储类型,
转载 2023-05-25 16:40:43
1556阅读
Redis设置过期时间的key需要注意的地方熟悉Redis的同学应该知道,Redis的每个Key都可以设置一个过期时间,当达到过期时间的时候,这个key就会被自动删除。1在为key设置过期时间需要注意的事项1.1 DEL/SET/GETSET等命令会清除过期时间在使用DEL、SET、GETSET等会覆盖key对应value的命令操作一个设置了过期时间的key的时候,会导致对应的key的过
转载 2023-08-23 18:17:03
20阅读
       最近没多少事,就想着搭建个redis集群玩玩,毕竟听起来也是很高大上的东西,但是经过自己的断断续续的搭建,也感觉不是那么难,肯定也只是刚刚入门,搭建的东西也比较简单,并没有触及到里面更深入的内容;       因为我不是一次性搭建完成的,我是这几天下班没事时搭建的,期间掉过很多坑,所以有很多东西可能被忘记
什么是RedisRedis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。传统数据库遵循 ACID 规则。而 Nosql(Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称) 一般为分布式而分布式一般遵循 CAP 定理。Redis支持的数据
工作中有用到Redis滤重队列。原来的方法如下:方法一为了保证操作原子性,使用Redis执行Lua脚本。在脚本中的逻辑是,如果队列不超过某个数值,进行一次lrem操作(队列使用list结构),然后将新元素入列。优点: 简单,直观。缺陷:lrem的时间复杂度为O(N),N为队列中的元素个数;所以,性能一般。因为防止队列内容过多,防止发生N级别的删除操作,限制了一个滤重的阀值,如果超过这个阀值就不能使
转载 2023-06-13 10:42:01
123阅读
键的管理:键重命名:rename key newkey 重命名后原键的值会被覆盖  renamenx key newkey 只有newkey 不存在的时候才被覆盖(需注意当键值比较大会存在阻塞redis的可能)随机返回一个键:randomkey键过期:expire key seconds 键在seconds秒后过期expireat key timestramp 键在秒级时间戳timest
首先说一下这篇博文得目的,昨天在使用redis时用到了hmset ,hmset简单说下是reids同时将多个键值对设置到哈希表中,按照key唯一得规则,相同key值进行赋值时肯定会对value值进行覆盖,但hmset却有些不同之处接下来我做了一个测试,写一个简单得demo,如下:@Test public void redisDemo(){ //链接本地redis服务
转载 2023-05-25 10:36:51
190阅读
文章目录一、常用五大数据类型及其数据结构1.Redis键(key)常见命令操作2.1 Redis字符串(String)2.2 Redis列表(List)2.3 Redis集合(Set)2.4 Redis哈希(Hash)2.5 Redis有序集合Zset(sorted set)2.6 总结二、Redis6新数据类型2.1 Bitmaps2.2 命令2.3 HyperLogLog2.4 命令2.5
转载 2023-07-08 22:45:39
773阅读
31.可重入加锁机制那如果客户端 1 都已经持有了这把锁了,结果可重入的加锁会怎么样呢?比如下面这种代码:这时我们来分析一下上面那段 lua 脚本。第一个 if 判断肯定不成立,“exists myLock”会显示锁key 已经存在了。第二个 if 判断会成立,因为 myLock 的 hash 数据结构中包含的那个 ID,就是客户端 1 的那个 ID,也就是“8743c9c0-0795-4907-
  • 1
  • 2
  • 3
  • 4
  • 5