Redis中三種特殊數(shù)據(jù)類型命令詳解
一、Geospatial
Geospatial是地理位置類型,我們可以用來(lái)查詢附近的人、計(jì)算兩人之間的距離等。
新增:
geoadd city 106.54041 29.40268 chongqing 118.8921 31.32751 nanjing 117.30794 31.79322 hefei 102.82147 24.88554 kunming 91.13775 29.65262 lasa 116.23128 40.22077 beijing
查看集合key:
ZRANGE city 0 -1
查看指定位置:
geopos city nanjing
查看多個(gè)指定位置:
geopos city nanjing beijing
計(jì)算兩個(gè)位置的距離:
geodist city nanjing beijing
查看指定位置的1000公里范圍內(nèi)有哪些城市(111,45是經(jīng)緯度):
georadius city 111 45 1000 km
查看指定位置的1000公里范圍內(nèi)有哪些城市,返回帶上經(jīng)緯度:
georadius city 120 38 1000 km withcoord
查看指定位置的1000公里范圍內(nèi)有哪些城市,返回帶上距離和經(jīng)緯度:
georadius city 120 38 1000 km withcoord withdist
查看指定位置的1000公里范圍內(nèi)有哪些城市,返回帶上距離和經(jīng)緯度和哈希(哈希值越像則越近):
georadius city 120 38 1000 km withcoord withdist withhash
查看指定位置的1000公里范圍內(nèi)有哪些城市,返回帶上距離和經(jīng)緯度和哈希(哈希值越像則越近),只返回兩個(gè):
georadius city 120 38 1000 km withcoord withdist withhash count 2
查找指定元素指定范圍內(nèi)的元素:查詢南京 500公里范圍有哪些城市
georadiusbymember city nanjing 500 km
返回北京和南京的經(jīng)緯度的 hash值:
geohash city beijing nanjing
刪除一個(gè)位置:
ZREM city lasa
二、Hyperloglog
Hyperloglog指的是基數(shù),兩個(gè)數(shù)據(jù)集中不重復(fù)的元素,在Redis中,會(huì)有一定的誤差性。 官方給出的誤差率是0.81%,占用的內(nèi)存是固定的,2^64個(gè)元素,相當(dāng)于只需要12kb的內(nèi)存即可。效率極高,網(wǎng)站的訪問量,就可以利用Hyperloglog來(lái)進(jìn)行計(jì)算統(tǒng)計(jì)!!
添加數(shù)據(jù)集:
pfadd dataList 1 2 3 4 5 6 7
統(tǒng)計(jì)數(shù)據(jù)集中的元素:
pfcount dataList
取并集:
pfmerge newdata dataList dataList1
三、Bitmap
Bitmap指的是位存儲(chǔ),操作二進(jìn)制位來(lái)進(jìn)行記錄,就只有0 和 1 兩個(gè)狀態(tài),可能需要我們統(tǒng)計(jì)用戶的登陸信息,員工的打卡信息等等。只要是事務(wù)的只有兩個(gè)狀態(tài)的,我們都可以用Bitmap來(lái)進(jìn)行操作。
添加:
setbit login 1 1
獲取:
getbit login 1
統(tǒng)計(jì):
bitcount login
到此這篇關(guān)于Redis中三種特殊數(shù)據(jù)類型命令的文章就介紹到這了,更多相關(guān)Redis特殊數(shù)據(jù)類型命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
RedisTemplate序列化設(shè)置的流程和具體步驟
在使用 Redis 作為緩存數(shù)據(jù)庫(kù)時(shí),我們通常會(huì)使用 RedisTemplate 來(lái)簡(jiǎn)化與 Redis 進(jìn)行交互的操作,而其中一個(gè)重要的配置項(xiàng)就是序列化設(shè)置,它決定了數(shù)據(jù)在存儲(chǔ)到 Redis 中時(shí)的格式,本文將介紹如何進(jìn)行 RedisTemplate 的序列化設(shè)置,以及一些常見的序列化方案2024-11-11
詳解Redis中Lua腳本的應(yīng)用和實(shí)踐
這篇文章主要介紹了詳解Redis中Lua腳本的應(yīng)用和實(shí)踐,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
關(guān)于Redis數(shù)據(jù)持久化的概念介紹
Redis是內(nèi)存數(shù)據(jù)庫(kù),數(shù)據(jù)都是存儲(chǔ)在內(nèi)存中,需要定期將Redis中的數(shù)據(jù)以某種形式(或命數(shù)據(jù)令)從內(nèi)存保存到硬盤,今天給大家分享Redis數(shù)據(jù)的持久化的概念介紹,需要的朋友參考下吧2021-08-08
Redis內(nèi)部數(shù)據(jù)結(jié)構(gòu)Dict的實(shí)現(xiàn)方法
這篇文章主要介紹了Redis內(nèi)部數(shù)據(jù)結(jié)構(gòu)Dict的實(shí)現(xiàn)方法,本篇文章所述的dict在Redis中最主要的作用就是用于維護(hù)Redis數(shù)據(jù)庫(kù)中所有Key、value映射的數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考下2022-05-05

