java如何获得redis所有的key-value
目录
- 获得redis所有的key-value
- redis配置文件需要序列化
- redis集群获取所有的key,亲测有效
- redis单机查询所有key命令
- redis集群查所有key命令
- 如本地测试环境查询结果
获得redis所有的key-value
运行结果:
redis配置文件需要序列化
@Bean public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(redisConnectionFactory); StringRedisSerializer serializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(serializer); redisTemplate.setValueSerializer(serializer); return redisTemplate; }
redis集群获取所有的key,亲测有效
redis单机查询所有key命令
keys *
查询结果示例:
redis集群查所有key命令
如果使用keys *,那么查询的仍旧是本服务器的所有key,不是集群的(结合本图结果以及参考上图,都是插入后查询,无心插入或者删除key)
正确的命令是
./redis-cli -c --cluster call 192.168.168.161:7001 keys \*
注意:
1.不能去掉\;
2.换成你redis集群的一个节点的ip和端口
3.如果集群有密码加上参数 -a password(你的redis集群密码)
如本地测试环境查询结果
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Java操作Redis详细介绍
1. 简介 Redis 是一个开源(BSD许可)的,内存中的key-value存储系统,它可以用作数据库.缓存和消息中间件. 2. 对key的操作 首先要建立连接Jedis jedis = new Jedis("127.0.0.1", 6379),然后就可以对string,set,zset,hash进行操作了. //对key的测试 public void keyTest() { System.out.println(jedis.flushDB()); //清空数据 System.out
-
浅谈Redis的key和value大小限制
今天研究了下将java bean序列化到redis中存储起来,突然脑袋灵光一闪,对象大小会不会超过redis限制?不管怎么着,还是搞清楚一下比较好,所以就去问了下百度,果然没多少人关心这个问题,没找到比较合适的答案,所以决定还是去官网找吧. 找到两句比较关键的话, 截图如下. 结论 redis的key和string类型value限制均为512MB. 补充知识:Redis获取所有键值 通过遍历获取目标键值: import redis redis = redis.Redis(host='192.24
-
spring使用redis操作key-value的示例代码
连接到 Redis Redis 连接工厂会生成到 Redis 数据库服务器的连接.Spring Data Redis 为四种 Redis 客户端实现提供了连接工厂: JedisConnectionFactory JredisConnectionFactory LettuceConnectionFactory SrpConnectionFactory 具体选择哪一个取决于你.我建议你自行测试并建立基准,进而确定哪一种 Redis 客户端和连接工厂最适合你的需求.从 Spring Data Redi
-
java语言描述Redis分布式锁的正确实现方式
分布式锁一般有三种实现方式:1.数据库乐观锁:2.基于Redis的分布式锁:3.基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁. 可靠性 首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件: 互斥性.在任意时刻,只有一个客户端能持有锁. 不会发生死锁.即使有一个客户端在持有锁的期间
-
为Java项目添加Redis缓存的方法
Redis的安装 Redis一般有Linux和Windows两种安装方式,Windows的最高版本为3.2,Linux的最高版本为5.0,大家可以根据自己的需要添加 Linux 首先在linux下安装docker,在docker环境下安装redis5.0的镜像 docker pull redis:5.0 然后使用Docker命令启动Redis容器 docker run -p 6379:6379 --name redis \ -v /mydata/redis/data:/data \ -d red
-
Java手动实现Redis的LRU缓存机制
前言 最近在逛博客的时候看到了有关Redis方面的面试题,其中提到了Redis在内存达到最大限制的时候会使用LRU等淘汰机制,然后找了这方面的一些资料与大家分享一下. LRU总体大概是这样的,最近使用的放在前面,最近没用的放在后面,如果来了一个新的数,此时内存满了,就需要把旧的数淘汰,那为了方便移动数据,肯定就得使用链表类似的数据结构,再加上要判断这条数据是不是最新的或者最旧的那么应该也要使用hashmap等key-value形式的数据结构. 第一种实现(使用LinkedHashMap) pub
-
浅谈java如何实现Redis的LRU缓存机制
目录 LRU概述 使用LinkedHashMap实现 使用LinkedHashMap简单方法实现 双链表+hashmap LRU概述 最近使用的放在前面,最近没用的放在后面,如果来了一个新的数,此时内存满了,就需要把旧的数淘汰,那为了方便移动数据,肯定就得使用链表类似的数据结构,再加上要判断这条数据是不是最新的或者最旧的那么应该也要使用hashmap等key-value形式的数据结构. 使用LinkedHashMap实现 package thread; import java.util.Link
-
Java之操作Redis案例讲解
首先 下载 jedis.jar包 然后再 工程设置里面找到Libraries,点击+.添加下载好的jedis.jar包.点击OK退出即可 创建Java_Control_Redis类 测试链接 package ccit.redis; import redis.clients.jedis.Jedis; public class Java_Control_Redis { public static void main(String[] args) { //连接本地的 Redis 服务 Jedis je
-
Java之理解Redis回收算法LRU案例讲解
如何通俗易懂的理解LRU算法? 1.LRU是什么? LRU全称Least Recently Used,也就是最近最少使用的意思,是一种内存管理算法,最早应用于Linux操作系统. LRU算法基于一种假设:长期不被使用的数据,在未来被用到的几率也不大.因此,当数据所占内存达到一定阈值时,我们要移除掉最近最少被使用的数据. LRU算法应用:可以在内存不够时,从哈希表移除一部分很少访问的用户. LRU是什么?按照英文的直接原义就是Least Recently Used,最近最久未使用法,它是按照一个非
-
SpringBoot如何监控Redis中某个Key的变化(自定义监听器)
目录 SpringBoot 监控Redis中某个Key的变化 1.声明 2.基本理念 3.实现和创建监听 4.基本demo的其他配置 5.基本测试 6.小结一下 SpringBoot自定义监听器 原理 示例 SpringBoot 监控Redis中某个Key的变化 1.声明 当前内容主要为本人学习和基本测试,主要为监控redis中的某个key的变化(感觉网上的都不好,所以自己看Spring源码直接写一个监听器) 个人参考: Redis官方文档 Spring-data-Redis源码 2.基本理念
-
Java手写Redis服务端的实现
目录 零,起因 一,redis通讯与Netty 1,tcp 2,协议 3,编解码 4,命令处理 二,redis 的数据结构 1,底层主结构 2,key 3,list 4,set 5,hash 6,zset 三,redis AOF 持久化 1,aof线程与tcp线程解耦,即写缓冲 2,aof持久化协议 3,aof的加载与存储实现 4,内存文件映射与面向对象 四,redis 的集群特性 1,主从 2,主从复制 3,分片集群 五,redis 的压测与调优 1,aof内存泄漏 2,内存复用提升性能 3,
-
为什么不建议使用Java自定义Object作为HashMap的key
目录 前言 踩坑历程回顾 hashCode覆写的讲究 为什么hashCode和equals要同时覆写 数据退出机制的兜底 总结 前言 此前部门内的一个线上系统上线后内存一路飙高.一段时间后直接占满.协助开发人员去分析定位,发现内存中某个Object的量远远超出了预期的范围,很明显出现内存泄漏了. 结合代码分析发现,泄漏的这个对象,主要存在一个全局HashMap中,是作为HashMap的Key值.第一反应就是这里key对应类没有去覆写equals()和hashCode()方法,但对照代码仔细一看却
-
redis监听key过期事件的详细步骤
目录 1.配置redis.conf文件 2. 配置一个key过期事件的监听器 3.订阅key过期事件 4.发起订阅 1.配置redis.conf文件 配置文件默认是#注释了的,改为notify-keyspace-events Ex 重启redis,记住指定redis.conf配置文件启动 如果是阿里云的redis,进入redis管理页面==>>左边导航栏的参数设置 2. 配置一个key过期事件的监听器 package com.shinedata.config.redis; import
随机推荐
- 深入解析JavaScript中的立即执行函数
- ajax不执行success回调而是执行了error回调
- JSP发送邮件实例
- js遍历td tr等html元素
- 正则匹配原理之 逆序环视深入 .
- 经典再现 基于JAVA平台开发坦克大战游戏
- python访问系统环境变量的方法
- JS实现的不规则TAB选项卡效果代码
- 关于javascript中dataset的问题小结
- 仿Aspnetpager的一个PHP分页类代码 附源码下载
- php过滤输入操作之htmlentities与htmlspecialchars用法分析
- Python实现的最近最少使用算法
- Android 混合动画详解及实现代码
- Android IPC机制利用Messenger实现跨进程通信
- Java Socket实现的传输对象功能示例
- 此数据库没有有效所有者,因此无法安装数据库关系图支持对象
- jquery 简短几句代码实现给元素动态添加及获取提示信息
- 深入理解javascript动态插入技术
- 基于BootStrap的图片轮播效果展示实例代码
- 目前比较流行的ASP木马主要通过三种技术来进行对服务器的相关操作