3.redis Java按照目录存储及获取内容

  1. 可以使用以下代码来设置redisTemplate.opsForHash().put(groupKey, key, value)


import org.springframework.data.redis.core.BoundHashOperations;
import org.springframework.data.redis.core.RedisTemplate;

@RequiredArgsConstructor
public class BoundHashOperationsTest {

    private final RedisTemplate redisTemplate;
    
    public void set(String groupKey, String key, Object value) { 
       // 设置
       redisTemplate.opsForHash().put(groupKey, key, value)
       // redisTemplate.expire方法设置分组key的过期时间 秒100
       redisTemplate.expire("group_key", 100, TimeUnit.SECONDS);
    }
}
  1. 通过BoundHashOperations 实现目录分组存储及失效时间设置

import org.springframework.data.redis.core.BoundHashOperations;
import org.springframework.data.redis.core.RedisTemplate;

@RequiredArgsConstructor
public class BoundHashOperationsTest {

    private final RedisTemplate redisTemplate;
    
    public void setHash(String groupKey, String key, Object value) {  
        BoundHashOperations<String, String, Object> hashOperations = null;
        hashOperations = redisTemplate.boundHashOps(groupKey);
        // 设置成员key的失效时间
        hashOperations.expire(10, TimeUnit.HOURS);
        // 将数据存储到hash中
        hashOperations.put(groupKey, value);
    }
}

3.TimeUnit 是 Java 中的一个枚举类,主要是表示时间的单位。

  • TimeUnit.MINUTES 表示分钟。

  • TimeUnit.SECONDS 表示秒。

  • TimeUnit.HOURS 表示小时。

4.RedisTemplate 默认是没有按照文件目录存储的,你可以将 key 以某种方式组织起来,例如:使用文件目录的形式存储在 key 中。例如,可以将某个文件的目录作为 key 的前缀,对于该目录下的所有文件,可以使用 hash 进行存储,这样,就可以将数据存储为文件目录结构了。

获取按照文件目录存储的值,可以使用 RedisTemplate 的 opsForHash().get() 方法,它需要两个参数:key 和 field。其中,key 是文件目录,field 是该目录下的文件名。例如:

import org.springframework.data.redis.core.BoundHashOperations;
import org.springframework.data.redis.core.RedisTemplate;

@RequiredArgsConstructor
public class BoundHashOperationsTest {

    private final RedisTemplate redisTemplate;
    
    public Object get(String groupKey, String key, Object value) {  
        String fileDirectory = "groupKey";
        String fileName = "key";
        return redisTemplate.opsForHash().get(fileDirectory, fileName);
    }
}

以上解决方案,希望对你有所帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值