Redis的基本操作

2021-07-25 14:02:52 字數 3988 閱讀 9365

// string型別操作,資料結構為乙個鍵值對,均為string型別

// 設定k的值v,若k存在,直接替換

set k v// 設定k的值v,前提是k不存在,否則返回0

setnx k v// 設定k的值v,且有效期為n秒,超過有效期,鍵值消失

setex k n v// 將k的值v中第三個及之後的全部字元替換為newv,下標從0開始

setrange k 3 newv// 設定k的值v,且一次可以設定多對鍵值

mset k1 v1 k2 v2 k3 v3 ..// 設定k的值v,且一次可以設定多對鍵值,前提是k不存在

msetnx ..

// 返回k的值

get k// 設定k的值v,同時返回k的舊值,沒有返回nil

getset k v// 返回k的值v中的第0到第6個字元

getrange k 0

6// 返回k的值v中倒數第7到倒數第1個字元

getrange k -7 -1

// 一次返回多個k的值v,沒有返回nil

mget k1 k2 k3 ..// 將k的值v加1,若值為非數字出錯。若k不存在,建立k並設定值v為1

incr k// 將k的值v加num,若k不存在,建立k並設定值v為num

incrby k num

// 將k的值v減1,若k不存在,建立k並設定值v為-1

decr k// 將k的值v減num,若k不存在,建立k並設定值v為-num

decrby k num

// 給k的值v追加apstr

strlen k// 測試k是否存在

exists k// 刪除指定的k

del k

// hash型別操作,資料結構類似表,表的每一行為string型別的鍵值對

// 在myhash中新增k、v鍵值

hset myhash k v// 在myhash中新增k、v鍵值,前提k不存在

hsetnx myhash k v// 在myhash中一次性新增多個鍵值

hmset myhash k1 v1 k2 v2 k3 v3 ..// 返回myhash中k的值v

hget myhash k// 一次性返回myhash中多個k的值v

hmget myhash k1 k2 k3// 將myhash中k的值v加num

hincrby myhash k num

// 測試myhansh中是否存在k

hexists myhash k// 返回myhash中鍵值對的數量

hlen myhash// 刪除myhash中指定的k

hdel myhash k// 返回myhash中所有的k

hkeys myhash// 返回myhash中所有的v

hvals myhash// 返回myhash中所有的鍵值

hgetall myhash

// list型別操作,資料結構類似鍊錶,鍊錶名字對應鍵k,所有的鍊錶結點對應值v,有序可重複

// 從mylist表頭插入值v,mylist是鍊錶的名字,就是k,l是left縮寫

lpush mylist v// 從mylist表尾插入值v,r是right縮寫

rpush mylist v// 返回mylist第0個到倒數第1個結點的所有值v。結點下標左側從0開始,右側從-1開始,正數從表頭算,負數從表尾算

lrange mylist 0 -1

// 在mylist的oldv值之前插入newv值

linsert mylist before oldv newv// 設定mylist的指定下標2處的值為newv,若2處存在值替換

lset mylist 2 newv// 從mylist中順序刪除count個值為v的結點,count為正數從表頭算,為負數從表尾算,為0刪除全部值為v的結點

lrem mylist count v// 保留mylist中第乙個到最後乙個的所有結點,其餘刪除

ltrim mylist 1 -1

// 從mylist表頭刪除乙個元素

lpop mylist// 從mylist表尾刪除乙個元素

rpop mylist// 從mylist1表尾刪除元素,並從mylist2的表頭插入被刪除的元素

rpoplpush mylist1 mylist2// 返回mylist中指定下標0處的值v

lindex mylist 0

// 返回mylist的長度

len mylist

// set型別操作,資料結構類似數學中的集合,集合名字對應鍵k,集合中的所有元素對應指v,無序不可重複,非執行緒安全

// 在myset中新增值v,myset是集合的名字,就是k

sadd myset v// 返回myset中的所有元素

smembers myset// 刪除myset中值為v的元素

srem myset v// 隨機刪除myset中的乙個元素

spop myset// 返回myset1與myset2的差集,為myset1中刪除與myset2相同的元素後myset1中剩餘的元素

sdiff myset1 myset2// 將myset1與myset2的差集賦給myset3,並返回myset3的全部元素

sdiffstore myset3 myset1 myset2// 返回myset1與myset2的交集

sinter myset1 myset2// 將myset1與myset2的交集賦給myset3,並返回myset3的全部元素

sinterstore myset3 myset1 myset2// 返回myset1與myset2的並集

sunion myset1 myset2// 將myset1與myset2的並集賦給myset3,並返回myset3的全部元素

sunionstore myset3 myset1 myset2// 從myset1中刪除值為v的元素,並新增到myset2

smove myset1 myset2 v// 返回myset中元素的個數

scard myset// 測試myset中是否存在值為v的元素

sismember myset v// 隨機返回myset中的乙個元素

srandmember myset

// sorted set型別操作,有序的set,資料結構的每個元素中新增了乙個位置屬性,位置不是下標,從1開始

// 在myzset中的指定位置1新增值為v的元素,若該元素已存在,則僅更新元素的位置

zadd myzset 1 v// 返回myzset中的所有元素以及元素的位置

zrange myzset 0 -1 withscores// 從myzset中刪除值為v的元素

zrem myzset v// 將myzset中的值為v的元素的位置加num,若元素不存在,新增元素v,且設定位置為num

zincrby myzset num v// 返回myzset中值為v的元素下標,下標不是位置,先對myzset中元素按位置進行公升序排序,然後返回下標,下標從0開始

zrank myzset v// 返回myzset中值為v的元素下標,先對myzset中元素按位置進行降序排序,然後返回下標,下標從0開始

zrevrank myzset v// 先對myzset中的元素按位置降序排序,然後返回指定下標範圍的元素與位置

zrevrange myzset 0 -1 withscore// 返回myzset中指定位置範圍的元素與位置

zrangebyscore myzset 2

3 withscore// 返回myzset中指定位置範圍內元素的個數

zcount myzset 2

3// 返回myzset中元素的個數

zcard myzset// 返回myzset中值為v的元素的位置

zscore myzset v// 先對myzset中的元素按照]位置公升序排序,然後刪除下標在3到3之間的元素

zremrangebyrank myzset 3

3// 先對myzset中的元素按位置公升序排序,然後刪除位置在3到3之間的元素

zremrangebyscore myzset 3

3

redis的基本操作

redis remote dictionary server 即遠端字典服務,是乙個開源的使用ansi c語言編寫 支援網路 可基於記憶體亦可持久化的日誌型 key value資料庫,並提供多種語言的api。nosql 泛指非關係型資料庫 新增資訊 mset 功能 設定key value資料 命令 ...

redis的基本操作

1 redis關於keys的基本命令 序號命令描述1 del key該命令用於在可以存在是刪除key 2dump key序列化給定key,並返回被序列化的值 3exists key檢查給定 key 是否存在 4expire key seconds為給定 key 設定過期時間,以秒計。5expirea...

redis的基本操作

1.在ubuntu上安裝redis sudo apt get install redis server2.安裝完成後,redis伺服器會自動啟動,檢查redis伺服器程式 ps aux grep redis3.通過命令列檢查redis執行狀態 netstat nlt grep 6379 4.檢視狀態...