功能介紹
大部分的使用者都喜歡用RedisTemplate,它相應的包是org.springframework.data.redis.core。該模板實際是Redis模組的核心類,因為它的功能豐富。模板為Redis互動提供了進階抽象。雖然RedisConnection提供接受和返回二進位值(位元組數組)的低級方法,但該模板可以處理序列化和串連管理,使得使用者不需要處理太多的細節。
此外,模板提供了操作視圖(按照Redis命令參考分組),它們提供了豐富的、現成的介面用於對特定類型或者特定鍵的操作(通過KeyBound介面),如下所述:
介面 |
描述 |
Key類型操作 |
ValueOperations |
操作Redis String(或者Value)類型資料 |
ListOperations |
操作Redis List類型資料 |
SetOperations |
操作Redis Set類型資料 |
ZSetOperations |
操作Redis ZSet(或者Sorted Set)類型資料 |
HashOperations |
操作Redis Hash類型資料 |
HyperLogLogOperations |
操作Redis HyperLogLog類型資料,比如:pfadd,pfcount,... |
GeoOperations |
操作Redis Geospatial類型資料,比如:GEOADD,GEORADIUS,…) |
Key綁定操作 |
BoundValueOperations |
Redis字串(或值)鍵綁定操作 |
BoundListOperations |
Redis列表鍵綁定操作 |
BoundSetOperations |
Redis Set鍵綁定操作 |
BoundZSetOperations |
Redis ZSet(或Sorted Set)鍵綁定操作 |
BoundHashOperations |
Redis Hash鍵綁定操作 |
BoundGeoOperations |
Redis Geospatial 鍵綁定操作 |
一旦經過配置,該模板就是安全執行緒的,它可以被多個執行個體重複使用。
開箱即用,RedisTemplate使用了基於Java的串列器來進行大部分的操作。這就意味著,任何對象通過模板的讀寫都會通過Java來進行序列化/還原序列化。該模板的序列化機制改變起來也很容易,並且Redis模組在org.springframework.data.redis.serializer包中提供了多種可用的實現,詳情請參考Serializers。你也可以通過設定enableDefaultSerializer屬性為false,將其他的序列化實現都設定成null,並將RedisTemplate和原生的位元組數組一起使用。注意該模板的key不允許為null值,除非底層序列化程式可以接受。擷取更多序列化器的資訊,請閱讀javadoc。
===================================================================