Redis一些小记录
Redis一些小记录
SpringData Redis:RedisTemplate配置与数据操作
操作String类型数据
String是Redis中最基本的数据类型,可以存储字符串、整数或浮点数。RedisTemplate提供了ValueOperations接口来操作String类型的数据,支持设置值、获取值、批量操作、原子递增等功能。在高并发场景下,String类型的原子操作特性可以用于实现分布式锁、计数器等关键功能。
spring cloud 整合 redis
Redis 5.0.14
Springcloud 2021.0.5
1、Redis 在什么情况下 创建key??
程序中 一般有set 键值对的时候 就创建了
2、移除 key 的过期时间,key 将持久保持:
4、查看 连接的是redis的 哪个数据库?? select 仓库序号
6
操作 hash Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。
查看 key
KEYS key_redis*
结果 “key_redis:task:get_device_sort_list”
查看 key 里面所有 内容
10.xx.xx.xx:6379[6]> hgetall key_redis:task:get_device_sort_list
- “1_2”
- "\xac\xed\x00\x05sr\x00\x13java.util.ArrayListx\x81\xd2\x1d\x99\xc7a\x9d\x03\x00\x01I\x00\x04sizexp\x00\x00\x00\x01w\x04\x00\x00\x00\x01t\x00\x1117
Java 中 存的是
String,List
deviceId,list redisKey 这样的数据结构
if(redisDao.existsKey(deviceSortListKey, deviceStr)){
log.info(“task runTask 设备已在等待队列 任务放入排队队列
List li = (List)redisDao.hmGet(deviceSortListKey, deviceStr);
li.add(oneDetail.getId()+”"+oneDetail.getTaskAppResultDetailId() + "" + taskResult.getId() + “_” + oneDetail.getTaskAppResultId());
HashOperations<Object, Object, Object> hash = redisTemplate.opsForHash();
return hash.get(key,hashKey);
HGET key field
获取存储在哈希表中指定字段的值。
10.xx.xx.xx:63799[6]> hget key_redis:task:get_device_sort_list 1_2
“\xac\xed\x00\x05sr\x00\x13java.util.ArrayListx 179_1813_241_2141x”
删除 field = 1_2 的
10.xx.xx:6379[6]> HDEL key_redis:task:get_device_sort_list 1_2
(integer) 1
排队 原则 使用 redis hash的 数据类型
设备 如果在占用 那么 就将后进来的 任务放入 这个设备的 list列表中,当这个设备 被释放 ,就用这个设备的id 当做 redis 的feiled 去获得 他的 list 中的任务
lock_redis:device:occupy_device:1_1