Spring Data Redis提供在Spring應(yīng)用中配置和訪問Redis服務(wù)器的功能揍异。
為數(shù)據(jù)交互提供了低級別和高級別抽象备徐,從基礎(chǔ)操作中解放用戶萄传。
本文只是對Spring Data Redis的一些概念點做筆記,配置和使用還請自行Google蜜猾。
Moreover, the template provides operations views (following the grouping from Redis command reference) that offer rich, generified interfaces for working against a certain type or certain key (through the KeyBound
interfaces) as described below:
此外秀菱,RedisTemplate還提供了豐富的操作視圖(根據(jù)Redis命令分組)振诬,泛型接口可以操作一個類型的數(shù)據(jù)或者一個Key(通過KeyBound實現(xiàn))
通過RedisTemplate處理對象
接口 | 描述 |
---|---|
類型操作 | |
ValueOperations | 簡單K-V操作 |
ListOperations | 針對list類型的數(shù)據(jù)操作 |
SetOperations | set類型數(shù)據(jù)操作 |
ZSetOperations | zset類型數(shù)據(jù)操作 |
HashOperations | 針對hash類型的數(shù)據(jù)操作 |
HyperLogLogOperations | HyperLogLog(見附錄)操作 |
GeoOperations | GEO相關(guān)操作(這個比較有意思,可以研究一下) |
綁定操作 | |
BoundValueOperations | Redis string (or value) key bound operations |
BoundListOperations | Redis list key bound operations |
BoundSetOperations | Redis set key bound operations |
BoundZSetOperations | Redis zset (or sorted set) key bound operations |
BoundHashOperations | Redis hash key bound operations |
BoundGeoOperations | Redis key bound geospatial operations. |
一旦配置完成,RedisTemplate是線程安全的衍菱,并且可以跨多個實例重用赶么。
不過通過ValueOperations
類似的接口處理Redis操作,貌似沒有返回值梦碗。
附錄
Redis HyperLogLog
Redis 在 2.8.9 版本添加了 HyperLogLog 結(jié)構(gòu)禽绪。
Redis HyperLogLog 是用來做基數(shù)統(tǒng)計的算法蓖救,HyperLogLog 的優(yōu)點是洪规,在輸入元素的數(shù)量或者體積非常非常大時,計算基數(shù)所需的空間總是固定 的循捺、并且是很小的斩例。
在 Redis 里面,每個 HyperLogLog 鍵只需要花費 12 KB 內(nèi)存从橘,就可以計算接近 2^64 個不同元素的基 數(shù)念赶。這和計算基數(shù)時,元素越多耗費內(nèi)存就越多的集合形成鮮明對比恰力。
但是叉谜,因為 HyperLogLog 只會根據(jù)輸入元素來計算基數(shù),而不會儲存輸入元素本身踩萎,所以 HyperLogLog 不能像集合那樣停局,返回輸入的各個元素。