通用操作
rename name xm 把鍵name重設(shè)為xm
select 選擇數(shù)據(jù)庫(線上慎用)
keys * 所有鍵(線上慎用)
keys n* 獲取n開頭所有鍵
randomkey 隨機(jī)返回一個(gè)鍵
exists name 判斷name是否存在? 返回值01
type name 獲取值得數(shù)據(jù)類型
expire name 10設(shè)置name鍵十秒有效期
ttl name 獲取name有效期s單位梦裂, 過期/不存在返回-2(注意redis版本)
persist name 設(shè)置鍵永不過期
string
set name? ok ex 10? 支持毫秒有效期
set name ok xx存在改變
set name ok nx不存在改變
mset name ok age 23一次設(shè)置多個(gè)值
megt name ok age一次獲取多個(gè)鍵
setrange name 0 k設(shè)置為kk
getrange同理
append name ok設(shè)置為okok
incr age年齡+1
decr age年齡-1
str char A 最重要的東西
list
l/rpush names ok 鏈表追加一個(gè)年柠,同側(cè)先進(jìn)后出原則
lrange names 0 -1獲取鏈表所有值
lpop names
lrem names ok 刪除ok
lrem names -1 a后面開始刪
llen names 鏈表長度
set 唯一禁舷,確定毅往,無序
sadd names ok ,name洁桌, haha
smembers names 查看names中的數(shù)據(jù)
srandmember names 隨機(jī)取一個(gè)
spop names 隨機(jī)刪除一個(gè)元素
scard names 獲取集合元素個(gè)數(shù)
sismember names ok 判斷是否ok是否存在names侯嘀,返回值01
sinter names1 names2交集
sunion names1 names2并集
sdiff names1 names2差集
zset
zadd class 17 ok 18 oc 19 ov 添加元素
zcard class 獲取元素個(gè)數(shù)
zrank class ok 獲取升序排名
zrevrank? 獲取降序排名
zrange class 0 -1 查看所有排名
zrange class 0 -1 withscores 查看所有排名并帶分?jǐn)?shù)
hash
hset book name ok 設(shè)置book的name字段為ok
hset book auth xie 同上
hget book name 獲取book中的name值
hmget name auth 同時(shí)獲取book中的name和auth
hmset 同理
hkeys book獲取book中所有鍵
hlen book獲取book的長度
hdel book name刪除book中的name
hgetall book獲取book中的所有鍵的值
其他操作
flushall清空所有? flushdb清空當(dāng)前
scan 0 match k* 一次獲取10個(gè)k開頭的鍵名戒幔,并返回下一個(gè)偏移量
multi 開啟批量命令
set name ok
set name 哈哈
exec執(zhí)行
discard回滾
watch name? 監(jiān)控name之后執(zhí)行事物,當(dāng)name發(fā)生改變工坊,則事物失敗
multi
地理位置操作(3.2之后特性)
GEOADD Guangdong-cities 113.2099647 23.593675 Qingyuan
成功添加一個(gè)位置
GEOADD Guangdong-cities 113.2278442 23.1255978 Guangzhou 113.106308 23.0088312 Foshan 113.7943267 22.9761989 Dongguan 114.0538788 22.5551603 Shenzhen
成功添加四個(gè)位置?
GEOPOS Guangdong-cities Qingyuan Guangzhou Foshan
1) 1)"113.20996731519699" -- 清遠(yuǎn)的經(jīng)度?
2)"23.593675019671288" -- 清遠(yuǎn)的緯度?
2) 1)"113.22784155607224" -- 廣州的經(jīng)度?
2)"23.125598202060807" -- 廣州的緯度?
3) 1)"113.10631066560745" -- 佛山的經(jīng)度?
2)"23.008831202413539" -- 佛山的緯度?
計(jì)算兩個(gè)位置之間的距離
在調(diào)用這個(gè)命令時(shí)敢订, 用戶需要給定想要計(jì)算差距的地點(diǎn) location-x 和 location-y 楚午, 以及儲(chǔ)存這兩個(gè)地點(diǎn)的地理位置集合。
可選參數(shù) unit 用于指定計(jì)算距離時(shí)的單位阱驾, 它的值可以是以下單位的其中一個(gè):
m 表示單位為米怪蔑。
km 表示單位為千米。
mi 表示單位為英里饮睬。
ft 表示單位為英尺。
如果用戶沒有指定 unit 參數(shù)窟却, 那么 GEODIST 默認(rèn)使用米為單位呻逆。
GEODIST Guangdong-cities Qingyuan Guangzhou
"52094.433840356309" -- 兩地相聚 52094 米
我們可以使用 GEORADIUSBYMEMBER 去找出位于廣州 50 公里、 100 公里以及 150 公里以內(nèi)的城市:
redis> GEORADIUSBYMEMBER Guangdong-cities Guangzhou 50 km?
1)"Foshan"?
2)"Guangzhou"?
redis> GEORADIUSBYMEMBER Guangdong-cities Guangzhou 100 km?
1)"Foshan"?
2)"Guangzhou"?
3)"Dongguan"?
4)"Qingyuan"?
redis> GEORADIUSBYMEMBER Guangdong-cities Guangzhou 150 km?
1)"Foshan"?
2)"Guangzhou"?
3)"Dongguan"?
4)"Qingyuan"?
5)"Shenzhen"?
1茬腿、geoadd:增加某個(gè)地理位置的坐標(biāo)宜雀。
2、geopos:獲取某個(gè)地理位置的坐標(biāo)悴品。
3简烘、geodist:獲取兩個(gè)地理位置的距離。
4届氢、georadius:根據(jù)給定地理位置坐標(biāo)獲取指定范圍內(nèi)的地理位置集合覆旭。
5、georadiusbymember:根據(jù)給定地理位置獲取指定范圍內(nèi)的地理位置集合絮供。(區(qū)別在于參數(shù)茶敏, 前者傳坐標(biāo),后者傳地理位置名)
6贮乳、geohash:獲取某個(gè)地理位置的geohash值向拆。