Redis Cluster 集群搭建你会吗
三台机器 201、202、203,每台机器装两个 redis 实例,构建 redis cluster 集群。1. 安装添加 redis-cluster 目录,将 redis 压缩包拷贝到该目录下,解压压缩包。解压完后,将文件夹 redis-5.0.3 重命名为 redis1。[root@test201 redis-cluster]# mv redis-5.0.3 redis1需要在 redis1 目录下使用 make 命令进行编译。[root@test201 red...
2024-01-10关于redisson缓存序列化的几枚大坑说明
redisson缓存序列化几枚坑1、返回值为Map<T, K> 的方法增加@Cacheable后,T和K被类型擦出了,为啥?redisson结合Spring使用时,会有RedissonSpringCacheManager,将redissonClient自动注入,另外还有codec的概念,即序列化和反序列化,可以查看实现类,就几种实现,假设我们使用org.redisson.codec.JsonJacksonCodec,可以看到,de...
2024-01-10Redisson实现Redis分布式锁的几种方式
目录Redis几种架构普通分布式锁单机模式哨兵模式集群模式总结Redlock分布式锁实现原理问题合集前几天发的一篇文章《Redlock:Redis分布式锁最牛逼的实现》,引起了一些同学的讨论,也有一些同学提出了一些疑问,这是好事儿。本文在讲解如何使用Redisson实现Redis普通分布式锁,以及Redlock算法分布式锁...
2024-01-10为何Redis使用跳表而非红黑树实现SortedSet
目录什么是跳表跳表的意义究竟在于何处?跳表的搜索时间复杂度跳表是不是很费内存?插入和删除的时间复杂度插入删除跳表索引动态更新跳表的代码实现(Java 版)数据结构定义搜索算法插入和删除算法插入删除知道跳表(Skip List)是在看关于Redis的书的时候,Redis中的有序集合使用了跳表数据结构...
2024-01-10使用redis实现延迟通知功能(Redis过期键通知)
Redis 过期监听场景业务中有类似等待一定时间之后执行某种行为的需求 , 比如 30 分钟之后关闭订单 . 网上有很多使用 Redis 过期监听的 Demoredis配置 把notify-keyspace-events Ex 这一行的注释打开项目demo工程项目结构如下图maven依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" ...
2024-01-10Redis RDB技术底层原理详解
每日一句低头是一种能力,它不是自卑,也不是怯弱,它是清醒中的嬗变。有时,稍微低一下头,或者我们的人生路会更精彩。前提概要Redis是一个的键-值(K-V)对的内存数据库服务,通常包含了任意个非空数据库。而每个非空的键值数据库中又可以存放任意个K-V,基本的结构如下图所示:Redis的...
2024-01-10浅谈Redis中的内存淘汰策略和过期键删除策略
目录8种淘汰策略过期键的删除策略总结redis是我们现在最常用的一个工具,帮助我们建设系统的高可用,高性能。而且我们都知道redis是一个完全基于内存的工具,这也是redis速度快的一个原因,当我们往redis中不断缓存数据的时候,其内存总有满的时候(而且内存是很贵的东西,尽量省着点用),所以...
2024-01-10使用redis实现附近的人功能
目录前言工具一、测试数据二、基本命令三、javaApi前言Redis自3.2版本开始提供了GEO(geograph)功能,支持地理位置相关操作,以实现诸如附近的人这类依赖于地理位置信息的功能。工具百度经纬度拾取器拾取坐标系统一、测试数据120.70012 28.00135 温州120.207686 30.253359 杭州121.482537 31.238034 上海118.79311...
2024-01-10Redis高效率原因及数据结构分析
目录1、什么是redis?它主要用来干什么的?2、redis为什么这么快?基于内存存储实现高效的数据结构1、SDS简单动态字符串2、字典3、跳表合理的数据编码合理的线程模型1、I/O多路复用2、什么是I/O多路复用?3、单线程模型虚拟内存机制Redis的虚拟内存机制是啥呢?1、什么是redis?它主要用来干什么的?...
2024-01-10Redis模仿发送手机验证码功能
流程图一:添加jedis依赖包二:测试连接Redis服务是否成功// 创建Jedis对象用于连接Redis服务(在服务器上通过redis-server需要指定配置文件:redis-server /etc/redis.conf)Jedis jedis = new Jedis("192.168.119.128", 6379);String value = jedis.ping();System.out.println(value);jedis.close();三:编写生成验证码方法/** * 生成验证...
2024-01-10