
redis
文章平均质量分 58
JAVA探索
对知识的贪婪是我前进的动力
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何避免Sorted Set分页命令导致的数据紊乱问题?
如何避免Sorted Set分页命令导致的数据丢失问题?问题描述项目中经常会使用Redis的Sorted Set结构储存数据,在碰到分页功能时一般使用ZRENRANGEBYSCORE命令来实现,这个命令的原理很简单,一般的使用方法是指定key、max、min、offset、count来获取分页结果。该命令在执行时会锁定key的集合的区间[max,min],在该区间内获取第offset页的count条数据。ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT原创 2021-09-26 19:15:05 · 825 阅读 · 0 评论 -
redis脚本真的具有原子性吗?
redis脚本的原子性Atomicity of scriptsRedis uses the same Lua interpreter to run all the commands. Also Redis guarantees that a script is executed in an atomic way: no other script or Redis command will be executed while a script is being executed. This seman原创 2021-02-01 18:21:30 · 728 阅读 · 2 评论 -
基于RedisTemplate的redis分布式锁的LUA实现
import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.script.DefaultRedisScript;import o.原创 2020-11-23 21:51:47 · 477 阅读 · 0 评论 -
关于redis的访问控制
保护模式为了防止redis实例收到外部网络的攻击,redis在3.2.0版本之后加入了保护模式的概念。当保护模式有效时,保护模式下只响应本地回环接口(127.0.0.1/localhost/0.0.0.0)的访问,从其他地址仍然可以与服务器建立redis连接,但是执行命令会提示错误,并提示如何处理这种错误。保护模式必须符合以下条件才会有效:没有bind任何ip,包括回环接口 没有设置账号密码 保护模式设置为yes protected-mode=yesredis默认是开启保护模式的,这里模拟原创 2020-08-10 11:50:53 · 1332 阅读 · 0 评论 -
使用redis-cli部署集群
目标使用3台服务器A、B、C,每台服务器部署一套主从(1主2从),三个主服务来平分redis槽。安装redis服务安装gcc yum install -y gcc 安装wget yum install -y wget 下载redis包 wgethttp://download.redis.io/releases/redis-5.0.8.tar.gz 解压并安装redis命令 cd $REDIS_HOM...原创 2020-06-27 22:01:59 · 1857 阅读 · 0 评论 -
redis 学习笔记
布隆过滤器 布谷鸟过滤器 redis作为数据库/缓存的区别? 缓存的特点(不是全量数据,数据不重要,缓存应该随着访问变化热数据) 内存大小的设置 内存达到最大值以后的策略(默认禁止,报错;LRU;LFU;random;ttl。一般选择allkeys-lru或者volatile-lru,注意这两者的使用场景,前者是在所有键中寻找最少使用的,后者是在过期集合的键中选择最少使用的) 对有过期时间的key重新set后,会变为永久有效。 倒计时/定时 过期判定原理 缓存常见问题(击穿,穿透,雪崩,一原创 2020-06-26 00:42:07 · 245 阅读 · 0 评论 -
redis 客户端命令
io多路复用的原理String 【bitcount bitop】 APPEND key value summary: Append a value to a key since: 2.0.0 BITCOUNT key [start end] summary: Count set bits in a string since: 2.6.0 BITFIELD key [GET type offset] [SET type offset value] [INCRBY typ原创 2020-06-25 22:23:07 · 342 阅读 · 0 评论 -
安装redis 服务
1.wgethttp://download.redis.io/releases/redis-5.0.8.tar.gz2.gcc -v 没有的话安装gcc yum install -y gcc3.解压redis 进入根目录4.make install PREFIX=/opt/redis5.vi /etc/profile6.export REDIS_HOME=/opt/redis export PATH=$PATH:$REDIS_HOME/bin7.source /et...原创 2020-06-25 12:03:28 · 217 阅读 · 0 评论 -
redis 框架配置相关操作
持久化RDBrdb默认打开,配置为(save 900 1 save 300 10 save 60 10000)三个,如果需要关闭的话执行(save "")。rdb文件默认为(dbfilename dump.rdb)。指定工作空间路径(dir ./),持久化文件会保存在这里AOF配置(appendonly yes)。指定文件默认(appendfilename "appendonly.aof")。持久化频率(# appendfsync always appendfsyn...原创 2020-06-01 13:39:55 · 215 阅读 · 0 评论 -
redis 学习中遇到的问题
安装检查gcc是否安装,版本需要高于5 当出现一下报错时启动命令添加参数,重新安装zmalloc.h:50:10: fatal error: jemalloc/jemalloc.h: No such file or directory#重新执行命令:make MALLOC=libc原创 2020-06-01 13:20:21 · 204 阅读 · 0 评论 -
redis锁 工具类
基于org.springframework.data.redis.core.RedisOperations做的一个REDIS-SETNX分布式锁。/* * Copyright (c) 2019. 唐江华 保留所有权。 */import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springfr...原创 2020-04-22 12:02:58 · 899 阅读 · 0 评论 -
redis总结
什么是redis@TOCredis是一个开源的纯内存操作的key-value存储系统。通常被用来作为数据库,缓存和消息服务器来使用。redis支持的数据类型@TOC基本数据类型:1.String 最常用的字符串类型,有一点注意的是不要在项目中把任何对象都转成字符串进行存储,毕竟redis的一大特性是支持多数据类型。2.Hash 每个 hash 可以存储 2^32 - 1 键值对(40多亿...原创 2020-03-23 16:50:08 · 185 阅读 · 0 评论 -
spring-boot-starter-data-redis 配置总结
1.5.Xspring: redis: url: redis://user:password@example.com:6379 #该地址配置以后会重置host,port,password的规则。 host: 127.0.0.1 port: 6379 password: #密码 database: 0 #指定数据库,默认为0 time...原创 2020-01-03 10:36:28 · 5427 阅读 · 0 评论 -
调用redisTemplate.exec报空指针
调用redisTemplate.exec()报空指针有两种情况:1.redisTemplate注入失败2.redis配置未开启事务支持。这种情况只需要在配置redisTemplate时设置redisTemplate.setEnableTransactionSupport(true);即可。...原创 2019-12-25 11:47:55 · 1523 阅读 · 0 评论 -
redistemplate 常用方法总结(持更)
StringsetIfAbsent对应的命令setnx只有当key不存在时才设置key的值,并返回true;当key存在时不修改key的值,并返回false。redisTemplate.opsForValue().setIfAbsent(key, value)...原创 2019-11-28 15:29:37 · 1031 阅读 · 2 评论 -
redis 常用客户端命令总结
1.连接1.redis-cli -h host-p port-a pwd 建立连接--raw(避免中文乱码)2.auth pwd 输入密码3.quit 退出4.select database 选择数据库。eg:select 9。2.key相关命令1.exists key 是否存在key2.del key 删除一个key3.dump key序列化给定 key ...原创 2019-11-28 14:54:58 · 586 阅读 · 0 评论 -
Redis事务
Redis的事务不同于数据库事务,当Redis事务开启后,会把事务提交前的命令都放进队列,提交事务时依次执行。单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。如果你曾经...原创 2019-09-04 09:53:10 · 337 阅读 · 0 评论 -
Redis(spring data redis) 发布订阅 pub/sub
Spring Data为Redis提供了专用的消息集成,功能类似,并命名为Spring Framework中的JMS集成。Redis消息大致可分为两个功能区域: 发布或生产消息 订阅或消费消息 通常被称为发布/订阅模式。RedisTemplate类是用来生产消息的。对于类似于Java EE的消息驱动bean形式的异步接收,Spring Data提供了一个专用的消息监听器容器...原创 2019-06-30 21:18:31 · 614 阅读 · 0 评论 -
Redis 主从, 哨兵配置
Redis主从配置1.启动一个主redis 不用做任何配置2.启动一个从redis,有两种方式。a.在conf中配置slaveof <masterip> <masterport> ,masterip为主库ip,masterport为主库端口;b.在启动命令中添加 --slaverof <masterip> <masterport>Red...原创 2019-06-16 22:49:31 · 448 阅读 · 0 评论