主题
Redis 常用操作示例
Value 操作
java
@Autowired
private RedisTemplatePrivateWrapper redis;
// 设置值
redis.boundValueOps("key").set("value");
// 设置值并指定过期时间(秒)
redis.boundValueOps("key").set("value", 3600, TimeUnit.SECONDS);
// 获取值
Object value = redis.boundValueOps("key").get();
// 删除
redis.delete("key");
// 使用快速方法
redis.valuePut("key", value, 3600L);
Object val = redis.valueGet("key");Hash 操作
java
// 设置 Hash
Map<String, Object> map = new HashMap<>();
map.put("field1", "value1");
map.put("field2", "value2");
redis.boundHashOps("hashKey").putAll(map);
// 获取整个 Hash
Map<Object, Object> entries = redis.boundHashOps("hashKey").entries();
// 获取单个字段
Object fieldValue = redis.boundHashOps("hashKey").get("field1");
// 使用快速方法
redis.hashPutAll("hashKey", map, 3600L);
Map<String, Object> entries = redis.hashEntriesGet("hashKey");List 操作
java
// 左推入(先进后出)
redis.boundListOps("listKey").leftPushAll("item1", "item2", "item3");
// 获取全部
List<Object> list = redis.boundListOps("listKey").range(0, -1);
// 使用快速方法
redis.listPutAll("listKey", Arrays.asList("a", "b", "c"), 3600L);
List<Object> list = redis.listValuesGet("listKey");Set 操作
java
// 添加元素
redis.boundSetOps("setKey").add("member1", "member2");
// 获取所有成员
Set<Object> members = redis.boundSetOps("setKey").members();
// 使用快速方法
redis.setPutAll("setKey", new HashSet<>(Arrays.asList("a", "b")), 3600L);
Set<Object> set = redis.setValuesGet("setKey");操作速查表
| 操作类型 | 标准方法 | 快速方法 |
|---|---|---|
| Value | boundValueOps(key).set/get | valuePut/valueGet |
| Hash | boundHashOps(key).putAll/entries | hashPutAll/hashEntriesGet |
| List | boundListOps(key).leftPushAll/range | listPutAll/listValuesGet |
| Set | boundSetOps(key).add/members | setPutAll/setValuesGet |
