redis的數據string,hash,lists,sets,sorted sets

###string
string是最簡單的類型,一個 key對應一個Value,String類型是二進制安全的。Redis的 string可以包含任何數據,比如jpg圖片或者序列化的對象。

set 
#設置鍵值:
#語法:set  鍵名  值
#注意:如果鍵名已經存在,則會覆蓋原來的值

get
#獲取鍵值
#語法:get 鍵名

setnx 
#設置鍵值,
#語法:setnx  鍵名 值
#注意:在設置鍵值時,如果鍵名已經存在,則設置不成功

setex 
#設置鍵值
#語法:setex  鍵名 有效期 值
#在設置鍵值時,設置一個有效期

mset 
#一次性可以設置多個鍵值
#語法:mset 鍵名1  值1  鍵名2 值2 ……………

msetnx 
#一次性設置多個鍵值,要判斷如果鍵名已經存在,則設置失敗。
#語法:msetnx 鍵名1  值1  鍵名2 值2……………

getset 
#返回舊值,設置新值
#語法:getset 鍵名  新值

strlen 
#返回值的長度
#語法: strlen 鍵名

getrange 
#獲取鍵值的子內容
#語法:getrange  鍵名 開始位置  結束位置
#注意:位置是從開始計算的。

mget 
#一次獲取多個鍵值。
#語法:mget 鍵名1 鍵名2

incr 
#自增操作,每執行一次自動加1
#語法:incr 鍵名

incrby 
#可以加指定值,返回計算後的值。
#語法:incrby 鍵名  加的值

decr 
#同incr一樣, 自減操作。
#語法:decr 鍵名

decrby 
#指定減去的值。
#語法:decrby  鍵名  減的值

append 
#追加字符串
#語法:append 鍵名 追加的內容

###hash
Redis hash是一個string類型的field和value的映射表。它的添加、刪除操作都是0(1)(平均)。hash特別適合用於存儲對象。相較於將對象的每個字段存成單個string類型。將一個對象存儲在hash類型中會佔用更少的內存,並且可以更方便的存取整個對象

hset 
#設置哈希鍵值
#語法:hset key(哈希的名稱)  field   value

hget 
#獲取哈希的內容
#語法:hget key(哈希的名稱)   field
#注意:如果哈希的field已經存在,則會覆蓋

hsetnx 
#在設置哈希的 field 時,要檢測field是否存在,如果存在則設置不成功
#語法:hsetnx  key(哈希的名稱)   field1  field2...

hmset 
#一次性可以設置多個哈希的field,value
#語法:hmset key(哈希的名稱)   field1  value1  field1 value2

hmget 
#一次性可以獲取哈希的多個 field 的值。
#語法: hmget   key(哈希的名稱)   field1  field2

hincrby 
#設置哈希裏面  field的值加指定的數值。
#語法:hincrby    key(哈希的名稱)  field  number(加的數值)

hexists 
#測試哈希裏面field是否存在,
#語法: hexists key(哈希的名稱)  field

hdel 
#刪除哈希裏面的field的內容
#語法: hdel  key(哈希的名稱)  field

hkeys 
#返回哈希裏面所有的field
#語法:hkeys  key(哈希的名稱)

hvals 
#返回哈希裏面所有的field的值。
#語法: hvals key(哈希的名稱)

hgetall 
#返回哈希裏面所有的 field和value
#語法: hgetall key(哈希的名稱)

###lists
list是一個鏈表結構,主要功能是push、pop、獲取一個範圍的所有值等等,操作中key 理解爲鏈表的名字。redis的list類型其實就是一個每個子元素都是string 類型的雙向鏈表。我們可以通過push、pop操作從鏈表的頭部或者尾部添加刪除元素,這樣list即可以作爲棧,又可以作爲隊列。

lpush 
#從頭部向鏈表裏面添加數據(字符串類型)
#語法:lpush  key

lrange 
#取出鏈表裏面的元素
#語法:lrange   key  開始位置  結束位置
#取出鏈表裏面的全部內容:
#lrange key  0   -1

rpush 
#從尾部向鏈表裏面添加數據(字符串類型)
#語法:rpush key

linsert 
#在鏈表裏指定的位置添加元素。
#語法:linsert  key before exit_field new_field

lset 
#修改鏈表裏面的元素內容
#語法:lset  key  元素的位置(從0開始) 新的值

ltrim 
#保留鏈表中指定範圍的元素
#語法:ltrim key  開始位置  結束位置

lpop 
#從頭部刪除鏈表中的元素,返回刪除的元素
#語法:lpop  key

rpop 
#從尾部刪除鏈表中的元素,返回刪除的元素
#語法:rpop  key

lindex 
#返回指定位置的元素
#語法:lindex key 位置

llen 
#返回鏈表中元素的個數
#語法:llen  key

###set
set是集合,和我們數學中的集合概念相似,對集合的操作有添加刪除元素,有對多個集合求交併差等操作。操作中key理解爲集合的名字。

sadd 
#向集合裏面添加元素
#語法: sadd  key(集合的名稱)  元素1  元素2 

smembers 
#獲取集合裏面的元素
#語法:smembers 集合1

srem 
#刪除集合裏面指定元素
#語法:srem 集合1 指定的元素

spop 
#隨機刪除集合裏面某個元素,返回該元素
#語法:spop 集合1

sdiff 
#求集合裏面的差集,第一個集合裏面不存在於另外集合裏面的元素。
#語法:sdiff 集合1  集合2  

sdiffstore 
#求集合裏面的差集即(第一個集合裏面不存在於另外集合裏面的元素)並保存到新的集合裏面。
#語法:sdiffstore  新的集合  集合1   集合2

sinter
#返回集合交集,即在集合1和集合2都存在的元素。
#語法:sinter 集合1  集合2  

sinterstore 
#返回集合交集,即在集合1和集合2都存在的元素。取出交集並存儲到新的集合。
#語法:sinterstore 新的集合  集合1  集合2

sunion 
#返回集合的並集,即多個集合裏面的全部元素
#語法:sunion 集合1  集合2

sunionstore 
#求得並集並存儲到新的集合
#語法:sunionstore  新的集合  集合1  集合2

smove
#把元素從第一個集合裏面移動到另外的集合裏面
#語法:smove  集合1  集合2  移動的元素

scard 
#返回集合中元素的個數
#語法:scard 集合1

sismember 
#檢測某個元素是否在集合中
#語法:sismember 集合1 元素

srandmember 
#隨機返回集合裏面的某個元素,但是並不是刪除。
#語法:srandmember  集合1 元素

###sorted sets
sorted set是set的一個升級版本,他在set的基礎上增加了一個順序屬性,這一屬性在添加修改元素的時候可以指定,每次指定後,zset會自動重新按新的值調整順序。可以理解爲有兩列的mysql表,一列存value,一列存順序。操作中的key理解爲zset的名字

zadd 
#向有序集合裏面添加元素
#語法:zadd key(有序集合名稱)  score1  元素1  score2  元素2……

zrange 
#查看集合裏面的內容,按照元素的序號,升序來顯示的。
#語法:zrange  key  開始下標  結束下標  [withscores]

zrem 
#刪除集合中指定的元素
#語法:zrem key 指定的元素

zrank 
#在集合中,返回指定元素的下標。(安裝元素的序號升序)
#語法:zrank  key 指定的元素

zrevrank 
#在集合中,返回指定元素的下標。(按照元素的序號降序)
#語法:zrevrank  key 指定的元素

zrevrange 
#查看集合裏面的內容,按照元素的序號,降來顯示的。
#語法:zrevrange   key 指定的元素

zrangebyscore 
#返回集合中,根據序號的範圍返回元素。
#語法:zrangebyscore  key  開始序號  結束序號

zcount 
#返回集合中,指定序號範圍 內的元素的個數
#語法:zcount key  開始序號 結束序號

zcard 
#返回集合中元素的個數
#語法:zcard key

zremrangebyrank 
#刪除集合中,指定下標範圍內容的元素。
#語法:zremrangebyrank  key  開始下標  結束下標

zremrangebyscore 
#刪除集合中,指定序號範圍內的元素。
#語法:zremrangebyscore key 開始序號 結束序號

###redis 的其他常用命令

keys
#查看當前數據庫下面的鍵,一般要結合通配符使用
#比如查看當前數據下面的所有鍵使用keys   *

exists
#查看某個鍵是否在當前數據裏面。

del
#刪除當前數據庫下面的指定鍵
#語法:del key1 key2 key3

expire
#給一個鍵設置有效期,單位是秒
#語法:expire key 秒數

select
#選擇數據庫,在redis裏面默認有16個數據庫,編號是從0到15,默認是在0號數據庫裏面
#語法:select  數據庫編號

move
#將當前數據庫中的key轉移到其他數據庫中
#語法:move key  數據庫編號

persist
#把key的有效期設置爲永久有效,和expire命令對應
#語法:persist key 

randomkey
#隨機返回一個鍵

type
#返回鍵的數據類型。
#語法:type key 

dbsize
#返回當前數據庫鍵的個數

info
#查看redis服務器的一些信息

flushdb
#刪除當前選擇數據庫中的所有key

flushall
#刪除所有數據庫中的所有key
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章