redis常用命令
flushall--删除所有key
keys user:*//将所有user开头的key,查询出来
keys *//查询所有key
map数据类型
设置map的值
hset map名 key value key2 value2
hset users userID '001' userName 'zhangsan' userMoney '100'
获取map下某键的 值
hget map名 键名
hget users userID
获得map所有的key与值
hgetall users
数字增加1,user的user钱 加100,减100就是-100
hincrbyfloat users userMoney 100
注意:map下的值不能修改,只能删除之后,再新增
以下面代码为例
String good_commentID = map.get("good_commentID");
String good_nowTime = map.get("good_nowTime");
String goods = map.get("goods");
String good_userID = map.get("good_userID");
Map<String, String> stringStringMap = jedis.hgetAll("good_commentID." + good_commentID);
System.out.println(stringStringMap);
if (stringStringMap == null) {
jedis.hset("good_commentID."+good_commentID,"good_nowTime",good_nowTime);
jedis.hset("good_commentID."+good_commentID,"goods",goods);
jedis.hset("good_commentID."+good_commentID,"good_userID",good_userID);
}else {
jedis.incrByFloat("good_commentID."+good_commentID+" goods",1);
}
直接将java中的map存到redis中
Map<String, String> map = new HashMap<>();
map.put("hgh", "123");
map.put("你好", "小美");
String game = redis.hmset("game", map);//返回ok就是成功
java使用redis,利用jedis插件,导入坐标
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
获取redis中所有map的key名
用来遍历
如果想要将Redis中的所有Map数据读取出来,可以使用Java代码实现:
java
// 获取Redis连接
Jedis jedis = new Jedis("localhost", 6379);
// 获取Redis中所有以"map1:"开头的键
Set<String> keys = jedis.keys("map1:*");
// 遍历所有键,将对应的Map数据读取出来
for (String key : keys) {
Map<String, String> map = jedis.hgetAll(key);
System.out.println(map);
}
// 关闭Redis连接
jedis.close();
以上代码中,首先通过 jedis.keys() 方法获取Redis中所有以"map1:"开头的键,然后遍历这些键,依次调用 jedis.hgetAll() 方法获取对应的Map数据,并且将其输出到控制台。
需要注意的是,如果键的数量非常大,一次性读取所有数据可能会导致内存溢出或者给Redis服务器造成过大压力。此时可以考虑分批次地读取数据,或者使用Redis的SCAN命令和游标来实现分页查询。同时,在实际生产环境中,还需要考虑数据的安全性和可维护性等问题,例如对查询结果进行过滤、排序和格式化等操作,或者使用缓存等优化手段提升系统性能等。