代码:import org.springframework.data.redis.core.StringRedisTemplate;@Autowiredprivate StringRedisTemplate stringRedisTemplate;比如Redis中存放的是set,// members()里是Redis里的key,set是对应的value...

代码:
import org.springframework.data.redis.core.StringRedisTemplate;
@Autowired
private StringRedisTemplate stringRedisTemplate;
比如Redis中存放的是set,
// members()里是Redis里的key,set是对应的value
Set<String> dataSet = stringRedisTemplate.opsForSet().members("jj:loginlimit:whiteTestUser");
// 获取所有形如某pattern的key,例如 jj:mil:20180909:400, jj:mil:20180909:200
Set<String> set = stringRedisTemplate.keys("jj:mil:"+"20180909:" + "*");
此外,还有一种写法:
// 每次connection的返回结果是RedisCallback<Void>,每次连接就从事一次增删改查
stringRedisTemplate.execute( (RedisCallback<Void>) connection -> {
// 逻辑开始
String messageContent = new String(connection.get(key.getBytes()), Charset.defaultCharset());
。。。
// 逻辑结束
return null;
});
这种写法与上面的opsForSet()之类的写法的差别?
析:实际上opsForSet() 之后的get set等也是调用了execute方法。那么这种写法有何优点?
如果有循环数据操作,可以把每次的操作都放在逻辑代码处,直到return null才会释放对redis的连接。
stringRedisTemplate.execute( (RedisCallback<Void>) connection -> {
for(String key:keys){
例如 connection.get(key.getBytes()) 增删改查
}
return null;
});
更多见:https://www.cnblogs.com/slowcity/p/9002660.html
织梦狗教程
本文标题为:ex:Redis使用代码


基础教程推荐
猜你喜欢
- oracle19c卸载教程的超详细教程 2023-07-23
- redis 数据库 2023-09-13
- oracle数据库排序后如何获取第一条数据 2023-07-24
- Python安装第三方库的方法(pip/conda、easy_install、setup.py) 2023-07-28
- Python常见库matplotlib学习笔记之画图中各个模块的含义及修改方法 2023-07-27
- SQL Server如何设置用户只能访问特定数据库和访问特定表或视图 2023-07-29
- Java程序员从笨鸟到菜鸟(五十三) 分布式之 Redis 2023-09-11
- redis乐观锁与悲观锁的实战 2023-07-13
- Windows10系统中Oracle完全卸载正确步骤 2023-07-24
- Mariadb数据库主从复制同步配置过程实例 2023-07-25