###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