redis里面的数据怎么查看

redis里面的数据怎么查看,第1张

在 Redis 中查看数据可以使用以下命令

keys pattern 命令可以列出匹配给定模式的所有键名。例如,执行 keys 可以列出所有的键名。

type key 命令可以查看指定键的数据类型。例如,执行 type mykey 可以查看键 mykey 的数据类型。

get key 命令可以获取指定键的值。例如,执行 get mykey 可以获取键 mykey 的值。

hgetall key 命令可以获取指定哈希表的所有键值对。例如,执行 hgetall myhash 可以获取哈希表 myhash 的所有键值对。

lrange key start stop 命令可以获取指定列表的一部分元素。例如,执行 lrange mylist 0 -1 可以获取列表 mylist 的所有元素。

smembers key 命令可以获取指定集合的所有成员。例如,执行 smembers myset 可以获取集合 myset 的所有成员。

zrange key start stop 命令可以获取指定有序集合的一部分成员。例如,执行 zrange myzset 0 -1 可以获取有序集合 myzset 的所有成员。

以上是 Redis 中一些基本的数据查看命令,具体使用取决于你想要查看的数据类型和数据结构。

背景:最近公司APP要上线积分功能,需要按用户、业务场景、不同的累计周期、相关的业务信息等校验积分获取策略。为方便测试同学测试过程中直接列出redis集群中相关的统计指标key,进而查询相关信息,方便测试。

首先测试了下keys和scan居然都只能查看到当前节点的匹配到的key,what the fuck!!

想到之前工作中也碰到过同样的问题,于是折腾了会儿写了个脚本:

redis的值有5种类型,不同的类型有不同的命令来获取:字符直接getkey队列左端d出一个元素LPOPkey哈希HGETkeyfield集合SMEMBERSkey返回集合中的所有元素有序集合ZRANGEkeystartstop更详细的命令可以查看redis常用命令。

目前在做自动化测试时,设计到需要获取存储在redis中的值,总结了 *** 作代码如下:

需要jar包:jedis-273jar、commons-pool2-241jar

code如下:

[java] view plain copy

package cnmiguutils;

import javautilIterator;

import javautilList;

import cnmigubaseGlobalSettings;

import redisclientsjedisJedis;

import redisclientsjedisJedisPool;

import redisclientsjedisJedisPoolConfig;

/

 <Description>redis相关 *** 作类

 @author YanLu

/

public class RedisUtil {

private JedisPool pool=null;

private Jedis redis = null;

Log4jUtil log = new Log4jUtil(thisgetClass()getName());

//构造函数,创建对象时进行初始化

public RedisUtil() {

if (pool == null) {

/

// 池基本配置

//JedisPoolConfig config = new JedisPoolConfig();

// 最大连接数, 默认8个

configsetMaxTotal(20);

// 控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。

configsetMaxIdle(5);

// 表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;

configsetMaxWaitMillis(10000);

// 在borrow一个jedis实例时,是否提前进行validate *** 作;如果为true,则得到的jedis实例均是可用的;

configsetTestOnBorrow(false);

/

//创建redis连接池

//thispool = new JedisPool(config,"17218173188",6379);

thispool = new JedisPool(new JedisPoolConfig(), GlobalSettingsgetProperty("redismasterhost"), IntegerparseInt(GlobalSettingsgetProperty("redismasterport")));

//获取Jedis实例

thisredis = poolgetResource();

loginfo("Connection to redis server sucessfully");

}

}

/

 关闭连接

 @param pool

 @param redis

/

public void quitConnection(Jedis redis) {

if (redis != null) {

redisquit();

//poolreturnResource(redis);

}

}

/

 获取key对应的value

 说明:方法中目前只针对key数据类型为String和hash的情况作了处理,其他数据类型可根据需要进行扩展即可

 @param key

 @return

/

public String getValue(String key){

String value = null;

try {

if(redis == null || !redisexists(key)){

loginfo("key:"+key+" is not found");

quitConnection(redis);

return value;

}

//获取key对应的数据类型

String type = redistype(key);

loginfo("key:" + key + " 的类型为:" + type);

if(typeequals("string")){

//get(key)方法返回key所关联的字符串值

value = redisget(key);

}

if(typeequals("hash")){

//一下方法仅适用于listsize=1时,否者value将取集合中最后一个元素的值

List<String> list = redishvals(key);//hvals(key)返回哈希表 key 中所有域的值

//Set<String> set = redishkeys(key);

Iterator<String> it=listiterator();

while(ithasNext()){

value = itnext();

loginfo("value:"+value);

}

}

if(typeequals("list")){

loginfo(key+"类型为list暂未处理");

}

if(typeequals("set")){

loginfo(key+"类型为list暂未处理");

}

} catch (Exception e) {

// TODO Auto-generated catch block

eprintStackTrace();

}finally{

//关闭连接

quitConnection(redis);

}

return value;

}

[java] view plain copy

</pre><p></p><p></p><p>测试代码如下:</p><p><pre name="code" class="java">package cnmigutest;

import orgtestngannotationsTest;

import cnmiguutilsLog4jUtil;

import cnmiguutilsRedisUtil;

/

 <Description> 测试RedisUtil类

 @author YanLu

/

public class TestRedis {

private Log4jUtil log = new Log4jUtil(thisgetClass()getName());

@Test

public void testRedisUtil(){

RedisUtil ru = new RedisUtil();

//获取redis中对应的value值

String value=rugetValue("SMS_NODE_TIMES_13814528620");

loginfo(value);

}

}

以上就是关于redis里面的数据怎么查看全部的内容,包括:redis里面的数据怎么查看、(工作小记)redis集群下keys命令查询某一类业务相关的key、redis 能不能根据 value 取 key等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9816260.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存