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