redis
文章平均质量分 52
码农-文若书生
这个作者很懒,什么都没留下…
展开
-
springboot学习(八十四) 解决springboot中使用Redis缓存,java.time.LocalDatetime类型无法序列化的问题
修改函数:getRedisCacheConfigurationWithTtl。原创 2023-08-08 09:55:31 · 800 阅读 · 0 评论 -
redis(十九)Redis6.0 setNx返回值为空的问题处理
6.0 中,已经对 setNx 命令进行了修改,新的 setNx 命令返回值为 nil 或者 OK。如果你需要检查 setNx 命令是否执行成功,可以使用 “exists”如果使用 Redis 6.0 来执行 setNx 命令,确实存在返回值为空的情况。setNx 命令返回值为 1 或 0,但是在 Redis。命令,它会返回键是否存在,如果存在返回 1,否则返回 0。例如,以下示例代码演示了如何使用 setNx 命令,并使用 exists。原创 2023-05-19 16:49:03 · 692 阅读 · 0 评论 -
redis学习(十八) 部署redis哨兵模式
哨兵模式核心还是主从复制,只不过在相对于主从模式在主节点宕机导致不可写的情况下,多了一个竞选机制:在所有的从节点竞选出新的主节点。每一个哨兵都是一个独立的sentinel进程,作为进程,它会独立运行。当master挂掉之后,哨兵会自动从slave中选一个作为master,若master重新启动,master则会转化为现有的master下的一个slave,当slave切换时,会通过发布订阅方式,将slave所对应的master更改。原创 2023-05-18 21:23:42 · 2140 阅读 · 0 评论 -
springboot学习(八十二) springboot中配置Caffeine和Redis缓存,自定义缓存失效时间,并自定义实现通配符删除缓存功能
在spring boot项目中,避免不了使用缓存,当前想实现单机缓存和共享缓存的配置和切换,这里使用了Caffeine实现单机缓存,Redis实现共享缓存。使用spring-boot-starter-cache只能实现全局缓存的失效时间,当前想为某些缓存单独设置失效时间,自定了缓存的配置。在清除缓存时,spring-boot-starter-cache只能定向删除单个key,通过自定义Cache和CacheManager的形式实现通配符清除缓存的功能。原创 2023-02-22 16:08:23 · 4025 阅读 · 0 评论 -
Prometheus+Grafana学习(十)监控Redis
文章目录1、安装Prometheus和Grafana2、安装Redis3、安装redis_exporter3.1、下载源码3.2、安装redis_exporter3.3、测试redis_exporter4、配置Prometheus5、配置Grafana1、安装Prometheus和Grafanaprometheus参考:https://blog.csdn.net/u011943534/article/details/122519799grafana参考:https://blog.csdn.net/原创 2022-01-22 17:52:59 · 1159 阅读 · 0 评论 -
redis学习(十四) 安装lua
linux下安装lua 这里安装的是5.3.5版本curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gztar zxf lua-5.3.5.tar.gzcd lua-5.3.5make linux testmake install注意:运行make linux test时可能会报错readline/readline.h...原创 2018-09-15 09:43:14 · 573 阅读 · 0 评论 -
redis学习(十六) 使用jedis执行lua脚本(实现一个对IP的限流)
使用jedis执行lua脚本(实现一个对IP的限流) 上一篇学习了怎么安装lua,这一篇学习编写一个lua脚本用jedis执行,实现对一个IP的限流LUA脚本如下,第一次使用incr对KEY(某个IP作为KEY)加一,如果是第一次访问,使用expire设置一个超时时间,这个超时时间作为Value第一个参数传入,如果现在递增的数目大于输入的第二个Value参数,返回失败标记,否则成功。...原创 2018-09-15 20:07:26 · 11189 阅读 · 1 评论 -
springboot学习(十二) springboot 使用redis实现session共享
springboot 使用redis实现session共享1 springboot项目添加依赖,以gradle为例,如果是MAVEN替换为对应配置compile('org.springframework.boot:spring-boot-starter-data-redis')compile('org.springframework.session:spring-session-dat...原创 2018-09-12 22:12:47 · 454 阅读 · 0 评论 -
redis学习(十七) 使用shardedJedis
使用shardedJedisShardedJedis是通过一致性哈希来实现分布式缓存的,通过一定的策略把不同的key分配到不同的redis server上,达到横向扩展的目的,废话不多说直接上一个测试代码吧,代码里会有注释。代码github地址: github地址public class ShareJedisTest { public static void main(Strin...原创 2018-09-23 22:05:46 · 1462 阅读 · 1 评论 -
redis学习(十三) redis实现分布式锁
redis实现分布式锁public class RedisDistriLock { private final JedisPool jedisPool; public RedisDistriLock(JedisPool jedisPool) { this.jedisPool = jedisPool; } /** * 获取分布式锁 ...原创 2018-09-14 22:31:48 · 326 阅读 · 0 评论 -
redis学习(十二) redis运维常用的命令
redis运维常用的命令1 time 查询系统时间秒数和微秒数2 dbsize 查看数据库key的数目3BGREWRITEAOF 后台立即重写aof日志4BGSAVE 后台保存RDB5 SAVE 保存RDB6 LASTSAVE 查看上次保存RDB的时间7 ‘FLASHDB’ 清空当前数据库8 flashall 清空所有数据库9 info 显示REDIS运行的一些...原创 2018-09-08 14:19:50 · 1509 阅读 · 0 评论 -
redis学习(十一) redis主从复制以及哨兵模式sentinel
redis主从复制1 拷贝一份redis.conf作为slave的配置文件cp redis.conf redis6380.confpidfile /var/run/redis6380.pid2 修改redis6380.conf的rdb文件名称,修改pid文件 ··· pidfile /var/run/redis6380.pid port 6380 ···3 放开sl...原创 2018-09-02 22:03:38 · 283 阅读 · 0 评论 -
redis学习(十) redis持久化
redis学习(十) redis持久化快照持久化(rdb) rdb的方式如果没满足持久化的条件断电了,可能有些数据会丢失。 rdb恢复速度快直接持久化的是内存的映像redis配置文件redis.conf持久化配置参数说明:save 900 1save 300 10save 60 1000060S内10000次修改持久化 300S内10次修改持久化 900S...原创 2018-09-02 20:47:24 · 228 阅读 · 0 评论 -
redis学习(一) 安装redis
安装redis参考链接1 下载redis 到redis官网https://redis.io/ 下载最新稳定版redis,这里是4.0.11,下载后解压 tar zxvf xxx2 make 进入解压后的目录运行 make,可能会出现缺少依赖的情况,我安装过程中遇到过的情况如下:1) /bin/sh: cc: 未找到命令 , 运行yum -y install gcc auto...原创 2018-08-18 21:51:19 · 284 阅读 · 0 评论 -
redis学习(二) redis通用key操作
redis通用key操作1 列出keykeys patternpattern 为正则表达式。比如 keys age,查询 key为age,keys a* 模糊查询a开头的key, keys * 列出所有的key。2 返回随机keyrandomkey比如要抽奖,随机抽出一个key可以这样使用。3 查看key存储的值的类型type [key]4 判断某个key...原创 2018-08-19 15:44:26 · 821 阅读 · 0 评论 -
redis学习(三) redis string 命令操作
redis string结构操作1 set 命令set [key] [value] [ex]/[px] [有效期] [xx]/[nx]设置数据,ex 指的是超时秒数,px是超时毫秒数,xx指的是key存在的时候才会设置,会覆盖之前的key,nx是指key不存在的时候才会设置,key存在的时候就不设置了。2 设置多个值mset [key1] [value1] [key2] [...原创 2018-08-19 16:57:22 · 328 阅读 · 0 评论 -
redis学习(四) 链表操作常用命令
链表操作常用命令1 插入链表lpush [key] [data]rpush [key] [data]2 获取链表数据lrange [key] [start] [stop]获取所有 lrange [key] 0 -13 弹出数据lpop [key]rpop [key]4 删除数据lrem [key] [count] [value]count...原创 2018-08-19 17:49:54 · 342 阅读 · 0 评论 -
redis学习(八) redis事物处理
redis学习(八) redis事物处理 redis的事物不能保证完全的原子性,实现原理大概是把一堆执行命令放入一个队列,运行exec命令的时候统一执行,如果执行过程中检测到命令有问题或discard命令不会执行整个队列,但是如果语法没问题,比如把一个String类型key当作link处理,语法没问题,这样执行exec命令的时候会执行队列里的语句,遇到错误已经执行的语句不会再回滚了。 ...原创 2018-09-01 10:51:27 · 182 阅读 · 0 评论 -
redis学习(九) redis发布订阅命令
redis学习(九) redis发布订阅命令1 发布publish [key] [something]2 订阅subscribe [key]psubscribe [pattern] 使用正则表达式订阅多个频道原创 2018-09-01 11:29:09 · 950 阅读 · 0 评论 -
redis学习(五) redis set集合操作
redis set集合操作1 向set集合添加元素sadd [key] [value1] [value2] [......]2 删除set集合的元素srem [key] [value]3 pop出一个随机元素spop [key]4 返回一个随机元素,但并不删除srandmember [key]5 查看所有元素smembers [key]...原创 2018-08-25 19:34:34 · 4902 阅读 · 0 评论 -
redis学习(六) redis有序集合 order set操作命令
redis有序集合 order set操作命令1 添加元素zadd [key] [score1] [value1] [score1] [value2] [......]2 找到指定名次取出数据zrange [key] [indexStart] [indexEnd]原创 2018-08-29 21:28:50 · 1009 阅读 · 0 评论 -
redis学习(七) hash操作命令
hash操作命令1 设置值 hset [key] [field] [value]2 设置多个值 hmset [key] [field1] [value1] [field2] [value2]3 获取所有的值hgetall [key]4 获取一个值hget [key] [field] 5 获取多个值hmget [key] [field1] [fie...原创 2018-08-29 21:48:14 · 198 阅读 · 0 评论 -
jedis工具类
package com.iscas.r1.utils;import com.google.gson.Gson;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;import java.io.Serializab...原创 2018-04-26 15:22:22 · 367 阅读 · 0 评论