ubuntu Redis 儲存型別

2021-08-15 12:15:58 字數 4702 閱讀 4374

redis 儲存型別五種儲存型別

string普通的key/value儲存. 

demo:

存:set   namevalue

取:get name

string命令

擴充套件:getset(key,value):給名稱為key的string賦予上一次的value

mset(key1  value1

,key2  

value2  

…):同時給多個string賦值,名稱為key i的string賦值value i

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

msetnx(key1

,value1

,key2

,value2  ...

):如果所有名稱為key i的string都

不存在,則向庫中新增string

,名稱   key i賦值為value i

setnx(key,value):

如果不存在名稱為key的string,則向庫中新增string

,名稱為key,值為value

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

incr(key):名稱為key的string增1操作(值為數值型別)

incrby(key, integer):名稱為key的string增加integer(值為數值型別)

decr(key):名稱為key的string減1操作(值為數值型別)

decrby(key,integer):名稱為key的string減少integer(值為數值型別)

substr(key,

istart,end):返回名稱為key的string的value的子串

list操作

demo:

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

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

list擴充套件

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

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

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

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

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

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

<0從尾到頭刪除|num|個值為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(key1, key2):返回並刪除名稱為key1的list的尾元素,並將該元素新增到名稱為key2的list的頭部

hash操作

demo:

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

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

hash擴充套件

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

zset操作

demo: 

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

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

zset擴充套件

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」

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求並集和交集,並將最後的集合儲存在

set操作

demo: 

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

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

set擴充套件

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的集合

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

ubuntu redis 連線問題

關於在scrapy 裡面的redis 連線不上的解決問題 1找到redis檔案 一般在etc下面 2 進入redis檔案裡面 用vi開啟 redis.conf 記得sudo開啟 3 更改裡面的bind 改為0.0.0.0 儲存退出 大概在70行 進入爬蟲裡面裡面 更改settings裡面的 指定re...

Ubuntu redis快速安裝指南

啟動服務端 redis server redis.conf 啟動客戶端連線 ancongadmin yancongadmin all series downloads redis 3.2.8 src redis cli 127.0.0.1 6379 127.0.0.1 6379 127.0.0.1 ...

ubuntu Redis安裝測試 設定使用者名稱密碼

redis安裝測試 安裝redis伺服器端 sudo apt get install redis server 開啟服務 sudo service redisd start 關閉服務 sudo service redisd stop 通過啟動命令檢查redis伺服器狀態 sudo etc init....