redis常用命令筆記

2021-10-07 05:00:49 字數 3808 閱讀 4663

啟動或關閉redis

./redis-server/etc/redis.conf

./redis-cli

>shutdown

redis的多資料庫特性

乙個redis例項可以提供16個資料庫,他們的下表從0-15;預設使用的是0號資料庫

select 1   //選擇1號資料庫

move key1  2  //將當前資料庫中的key1移動到2號資料庫

keys通用操作

keys * //查詢所有的key

keys aa?  //查詢所有已aa開頭的key

del key1 key2  //刪除key1 key2

exists ***   //檢視值為***的key是否存在

rename key1 key2  //將鍵key1重新命名為key2

expire  key1 300  //給key1設定過期時間為300秒

ttl key1  //查詢key1離過期還有多長時間

type key1  //獲取key1是什麼型別

string型別:

set str1 "this is string"

get str1

getset str1 kkkk    //先獲取str1的值在設定

del str1

incr num   //將 key 中儲存的數字值增一。如果 key 不存在,key 的值先被初始化為 0 ,然後再執行 incr 操作。型別不對報錯

decr num  // 與incr相反

incrby num 5  //將key值+5

decrby num 5  //將key值-5

注意:乙個鍵最大能儲存 512mb

redis hash 是乙個鍵值(key=>value)對集合,hash 特別適合用於儲存物件。

hset hash1 key1 "value1"

hmset hash1 key2 "value2" key3 "value3"

hget hash1 key3

hmget hash1 key1 key2 key3

hgetall hash1   //獲取所有屬性名和屬性值

hdel hash1 key1 key2   //刪除 key 中的乙個或多個指定字段

del hash1   //刪除整個key

hincrby hash1 num1 5  //將key中某個數字字段增加5

hexists hash1 ***    //判斷key中是否存在某屬性

hgetall hash1  //獲取所有屬性以及屬性值

hlen hash1  //獲取key的屬性數

hkeys hash1   //獲取key的所有屬性名字

hvals hash1   //獲取key的所有屬性值

redis 列表是簡單的字串列表,按照插入順序排序。你可以新增乙個元素到列表的頭部(左邊)或者尾部(右邊)。

lpush list1 value1 lalue2

lpop list1 value1  //從左側彈出乙個值

rpush list1 value4 value5

rpop list1 //從右側彈出乙個值

lrange list1 0 10

llen list1  //查詢某列表總數

lpushx list1 value3   //如果list1列表存在則插入值value3; rpushx從右側插入

rem list1  2 3   //從list1列表左側開始刪除2個3

rem list1 -2 3  //衝list1列表右側開始刪除2個3

rem list1 0 3  //刪除list1中所有的3

lset list1 3 ***   //修改list1索引為3的值為***

linsert list1 before b 11  //在第乙個b元素前插入11

linsert list1 after b 11  //在第乙個b元素之後插入11

rpoplpush list1 list2    //彈出list1右側的乙個元素放入list2的左側

lrange 返回列表中指定區間內的元素,區間以偏移量 start 和 end 指定。 其中 0 表示列表的第乙個元素, 以 -1 表示列表的最後乙個元素。

redis 的 set 是 string 型別的無序集合。集合成員是唯一的

sadd set1 value1 value2 value3   //新增

smembers set1   //查詢

srem set1 value1 value2  //刪除兩個值

sismember set1 a   //判斷集合set1中是否存在a這個值

sdiff set1 set2  //返回兩個集合的差集

sinter set1 set2  //返回兩個集合的交集

sunion set1 set2  //返回兩個集合的並集

smembers set1  //獲取集合所有成員

scard set1   //獲取集合成員數

srandmember set1  //隨機返回集合的乙個元素

sdiffstore set3 set1 set2  //將set1和set2的差集存入set3

sinterstore set3 set1 set2  //將set1和set2的交集存入set3

sunionstore set3 set1 set2  //將set1和set2的並集存入set3

redis zset 和 set 一樣也是string型別元素的集合,且不允許重複的成員。

不同的是每個元素都會關聯乙個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。

zset的成員是唯一的,但分數(score)卻可以重複。

zadd zset1 70 zs 80 lisi  //張三70分,李四80分

zscore zset1 zs   //獲取張三的分數

zcard zset1   //獲取zset1中的元素數

zrem zset1 zs li  //刪除張三,李四

zrange zset1 0 -1  //查詢所有元素名

zrange zset1 0 -1 withscores  //查詢元素名以及分數

zrevrange zset1 0 -1 withscores  //從大到小排序

zremrangebyrank zset1 0 4 //範圍刪除

zremrangebyscore zset1 70 90  //刪除分數在70至90的元素

zrangebyscore zset1 0 100  //查詢0到100分的元素

zrangebyscore zset1 0 100 limit 0 2  //查詢0到100分的元素,只顯示前兩條

zincrby zset1 3 li   //給李四分數加3

zcount zset1 80 90  //查詢分數在80至90分的元素

redis事務

multi(開始乙個事務) exec(相當於提交事務) discard(相當於回滾事務)

redis兩種持久化

rdb方式:預設的方式,每隔一段時間將資料儲存一次

aof方式:以日誌的方式記錄伺服器每一操作。redis啟動的時候會讀取這些檔案來構建資料庫

兩種方式可以一起使用

aof方式:aof每秒同步,每修改同步,不同步

redis常用命令筆記

redis常用命令 並將該元素新增到名稱為dstkey的list的頭部 7 set sadd key,member 向名稱為key的set中新增元素member srem key,member 刪除名稱為key的set中的元素member spop key 隨機返回並刪除名稱為key的set中乙個元...

redis常用命令 redis筆記一(常用命令)

作為讀寫效能出眾的k v型別資料庫 redis幾乎在現在所有的專案中都會使用。常常用它來共享session,快取資料,或者是用它來實現乙個簡單的鎖。昨天簡單記錄了一下redis的單機版安裝。之後再考慮學習一下reids集群的搭建。今天再寫點簡單的,算是乙個筆記。redis作為key value的非關...

Redis筆記之常用命令

keys用來獲取符合指定規則的鍵,keys的語法規則如下 keys比如最簡單的全等匹配,下面這個命令只會匹配鍵值完全等於foo的 127.0.0.1 6379 keys foo 1 foo 可以使用萬用字元 來匹配所有的鍵,下面這條命令可以用來檢視所有的key 127.0.0.1 6379 keys...