redis開發與運維之jedis常用命令

2021-10-06 19:55:13 字數 4817 閱讀 2877

jedis操作命令:

1.對value操作的命令

exists(key):確認乙個key是否存在

del(key):刪除乙個key

type(key):返回值的型別

keys(pattern):返回滿足給定pattern的所有key

randomkey:隨機返回key空間的乙個key

rename(oldname, newname):將key由oldname重新命名為newname,若newname存在則刪除newname表示的key

dbsize:返回當前資料庫中key的數目

expire:設定乙個key的活動時間(s)

ttl:獲得乙個key的活動時間

select(index):按索引查詢

move(key, dbindex):將當前資料庫中的key轉移到有dbindex索引的資料庫

flushdb:刪除當前選擇資料庫中的所有key

flushall:刪除所有資料庫中的所有key

2.對string操作的命令

set(key, value):給資料庫中名稱為key的string賦予值value

get(key):返回資料庫中名稱為key的string的value

mget(key1, key2,…, key n):返回庫中多個string(它們的名稱為key1,key2…)的value

setnx(key, value):如果不存在名稱為key的string,則向庫中新增string,名稱為key,值為value

setex(key, time, value):向庫中新增string(名稱為key,值為value)同時,設定過期時間time

mset(key1, value1, key2, value2,…key n, value n):同時給多個string賦值,名稱為key i的string賦值value i

msetnx(key1, value1, key2, value2,…key n, value n):如果所有名稱為key i的string都不存在,則向庫中新增string,名稱key i賦值為value i

incr(key):名稱為key的string增1操作

incrby(key, integer):名稱為key的string增加integer

decr(key):名稱為key的string減1操作

decrby(key, integer):名稱為key的string減少integer

substr(key, start, end):返回名稱為key的string的value的子串

3.對list操作的命令

rpush(key, value):在名稱為key的list尾新增乙個值為value的元素

lpush(key, value):在名稱為key的list頭新增乙個值為value的 元素

llen(key):返回名稱為key的list的長度

lrange(key, start, end):返回名稱為key的list中start至end之間的元素(下標從0開始,下同)

ltrim(key, start, end):擷取名稱為key的list,保留start至end之間的元素

lindex(key, index):返回名稱為key的list中index位置的元素

lset(key, index, value):給名稱為key的list中index位置的元素賦值為value

lrem(key, count, value):刪除count個名稱為key的list中值為value的元素。count為0,刪除所有值為value的元素,count>0 從頭至尾刪除count個值為value的元素,count<0從尾到頭刪除|count|個值為value的元素。

lpop(key):返回並刪除名稱為key的list中的首元素

rpop(key):返回並刪除名稱為key的list中的尾元素

blpop(key1, key2,… key n, timeout):lpop 命令的block版本。即當timeout為0時,若遇到名稱為key i的list不存在或該list為空,則命令結束。如果 timeout>0,則遇到上述情況時,等待timeout秒,如果問題沒有解決,則對key i+1開始的list執行pop操作。

rpoplpush(srckey, dstkey):返回並刪除名稱為srckey的list的尾元素,並將該元素新增到名稱為dstkey的list的頭部

4.對set操作的命令

sadd(key, member):向名稱為key的set中新增元素member

srem(key, member) :刪除名稱為key的set中的元素member

spop(key) :隨機返回並刪除名稱為key的set中乙個元素

smove(srckey, dstkey, member) :將member元素從名稱為srckey的集合移到名稱為dstkey的集合

scard(key) :返回名稱為key的set的基數

sismember(key, member) :測試member是否是名稱為key的set的元素

sinter(key1, key2,…key n) :求交集

sinterstore(dstkey, key1, key2,…key n) :求交集並將交集儲存到dstkey的集合

sunion(key1, key2,…key n) :求並集

sunionstore(dstkey, key1, key2,…key n) :求並集並將並集儲存到dstkey的集合

sdiff(key1, key2,…key n) :求差集

sdiffstore(dstkey, key1, key2,…key n) :求差集並將差集儲存到dstkey的集合

smembers(key) :返回名稱為key的set的所有元素

srandmember(key) :隨機返回名稱為key的set的乙個元素

5.對zset(sorted set)操作的命令

zadd(key, score, member):向名稱為key的zset中新增元素member,score用於排序。如果該元素已經存在,則根據score更新該元素的順序。

zrem(key, member) :刪除名稱為key的zset中的元素member

zincrby(key, increment, member) :如果在名稱為key的zset中已經存在元素member,則該元素的score增加increment;否則向集合中新增該元素,其score的值為increment

zrank(key, member) :返回名稱為key的zset(元素已按score從小到大排序)中member元素的rank(即index,從0開始),若沒有member元素,返回「nil」

zrevrank(key, member) :返回名稱為key的zset(元素已按score從大到小排序)中member元素的rank(即index,從0開始),若沒有member元素,返回「nil」

zrange(key, start, end):返回名稱為key的zset(元素已按score從小到大排序)中的index從start到end的所有元素

zrevrange(key, start, end):返回名稱為key的zset(元素已按score從大到小排序)中的index從start到end的所有元素

zrangebyscore(key, min, max):返回名稱為key的zset中score >= min且score <= max的所有元素

zcard(key):返回名稱為key的zset的基數

zscore(key, element):返回名稱為key的zset中元素element的score

zremrangebyrank(key, min, max):刪除名稱為key的zset中rank >= min且rank <= max的所有元素

zremrangebyscore(key, min, max) :刪除名稱為key的zset中score >= min且score <= max的所有元素

zunionstore / zinterstore(dstkeyn, key1,…,keyn, weights w1,…wn, aggregate sum|min|max):對n個zset求並集和交集,並將最後的集合儲存在dstkeyn中。對於集合中每乙個元素的score,在進行aggregate運算前,都要乘以對於的weight引數。如果沒有提供weight,預設為1。預設的aggregate是sum,即結果集合中元素的score是所有集合對應元素進行 sum運算的值,而min和max是指,結果集合中元素的score是所有集合對應元素中最小值和最大值。

6.對hash操作的命令

hset(key, field, value):向名稱為key的hash中新增元素field<—>value

hget(key, field):返回名稱為key的hash中field對應的value

hmget(key, field1, …,field n):返回名稱為key的hash中field i對應的value

hmset(key, field1, value1,…,field n, value n):向名稱為key的hash中新增元素field i<—>value i

hincrby(key, field, integer):將名稱為key的hash中field的value增加integer

hexists(key, field):名稱為key的hash中是否存在鍵為field的域

hdel(key, field):刪除名稱為key的hash中鍵為field的域

hlen(key):返回名稱為key的hash中元素個數

hkeys(key):返回名稱為key的hash中所有鍵

hvals(key):返回名稱為key的hash中所有鍵對應的value

hgetall(key):返回名稱為key的hash中所有的鍵(field)及其對應的value

redis 開發與運維 1

由於手上負責的專案很依賴redis,而且redis曾經出過問題,故決定好好系統學習一下redis的知識,本文打算先介紹一下redis的基礎知識 首先我們必須明確的幾個知識點1 1 keys 這個命令可以檢視所有的鍵,這是這個 當前db所有的key 127.0 0.1 6379 keys 1 haha...

《Redis開發與運維》筆記 初識Redis

目錄 redis優點 redis特性 速度快基於鍵值對的資料結構伺服器 豐富的功能 簡單穩定 客戶端語言多 持久化主從複製 高可用和分布式 redis使用場景 redis可以做什麼 redis不可以做什麼 用好redis的建議 切勿當作黑盒使用,開發與運維同樣重要 閱讀原始碼 redis重大版本 r...

《Redis開發與運維》 列表List

list 有序,可重複 redis中列表 list 型別是用來儲存多個有序的字串,列表中的每個字串成為元素 element 乙個列表最多可以儲存2 32 1個元素。命令 新增操作 rpush key value value 從右向左插入元素 lpush key value value 從左向右插入元...