Redis3.0.4基礎操作(一)
安裝: Centos7,裝好GCC(yum install gcc),解壓redis.tar.gz ,進redis目錄,make 然後 makeinstall
1 ‘redis-server /myredis/redis.conf ’ 啟動redis服務
2 ‘redis-cli -p 6379 ’
3 ‘select 庫Index ’(預設16,即最高15) 切換庫
4 ' keys * ' 檢視所有的key
5 'keys x*' 檢視所有以x開頭的key
6 ''set key名稱 Value 設值
7 'get key名稱 ' 獲取key的對應value
8 'FLUSHDB ' 清空當前庫
9 'FLUSHAll' 清空所有庫
10 'DBSIZE ' 檢視當前庫的key的數量
11 Redis 索引預設從0開始, 埠預設6379
Redis常用的五大資料型別:String、Hash、List、Set、ZSet(sorted set 有序集合)
ZSet和Set一樣也是String型別元素的集合。而且不允許重複的成員,不同的是每個元素都會關聯一個double型別的分數,Redis正是通過分數來為集合中的成員進行從小到大的排序(類似鬥地主120人賽的積分排序),ZSet的成員是唯一的,但是分數(score)卻可以重複。
-----------------------------------------------------------------------------------------------------------------------------------------
String :
redis常見資料型別的操作命令:http://redisdoc.com
12 'EXISTS key名字' 判斷某個key是否存在?1:0
13 'MOVE key名字 DB的索引 ' 將當前key移動到某個DB裡
14‘EXPIRE key名字 秒鐘數’ 設定某個key的存活時間,時間到了就消失
15‘ttl key名字’ 檢視某個key還有多少秒過期 -1表示永不過期 -2表示已過期
16‘type key’ 檢視key 的型別
17‘setnx key名字 value’ 給key設定,前提是這個key不存在,若存在,沒反應
18‘INCR/DECR/INCRBY/DECRBY’+key | +key + int 讓對應的value值變化,前提必須是數字
19 ‘setrange key + 位數 + ‘內容’ /getrange key + 區間’ 給對應的value的對應區間設定值,或者取到某個value對應缺件的值
20 ’ STRLEN / APPEND /DEL +key‘ 檢視對應value的長度,以及追加對應的value,以及刪除key
21 'mset k1 v1 k2 v2' 'mget k1 k2' 設多個key,取多個key
22 ‘msetnx k3 v3 k4 v4’ 設多個key,前提是 這些key不存在,若存在,則失敗
------------------------------------------------------------------------------------------------------------------------------------- List:
23 ‘lpush /rpush 列表名 元素內容’ 新建一個列表,(從左進入或者從右進入) 每個索引上的值,用空格隔開
‘lrange 列表名 區間’ 獲取列表對應區間的值 。 若要全部檢視,則是 ‘lrange 列表名 0 -1’
24 ‘lpop’/‘rpop’ + 列表名 讓對應列表的最左或者最右元素出棧
25 ‘lindex’+ 列表名 + 索引 按照索引獲得對應列表的元素
26 ‘llen’+ 列表名 獲取對應列表的長度
27 ‘lrem + 列表名 + 刪除個數 +要刪除的元素’ 刪除列表裡的重複元素,指定個數
28 ‘ ltrim +列表名 +區間 ’ 擷取該列表的區間的元素,並且將該列表的值置為 擷取到的元素
29 ‘rpoplpush ’ 源列表 目標列表 將源列表的右邊第一個出棧,並且置於目標列表最左側
30 ‘lset +列表名 +index+ value’ 將列表的對應索引的值更改為value
31 ‘linsert+ 列表名+ before/after+ 元素 插入值’ 將列表裡指定元素的之前或者之後 插入 數值
-----------------------------------------------------------------------------------------------------------------------------------------
Set:
32 ‘sadd 集合名 集合元素 ’ 新建一個集合,集合元素即集合後面指定的
‘ smembers + 集合名 ’ 檢視集合裡的所有元素
‘ sismember + 集合名 + 元素值 ’ 判斷某個集合裡面是不是有該元素?1:0
33 ‘scard 集合名’ 檢視集合裡面的元素個數
34 srem +集合名 + value 刪除集合中的某個元素
35 srandmember 集合名 整數 隨機展示集合中的【整數】個元素
36 spop + 集合名 某個元素隨機出棧 ,消失
37 smove 集合1 集合2 在集合1的1個值 將集合1的1個值移動到集合2
38 差集: SDIFF set01 set02 取集合1的和集合2的差集,但是是以集合1作為標準的,也就是取集合1裡有的,集合2裡沒有的。
交集: SINTER set01 set02 取集合1和集合2 的公共部分
並集: SUNION set01 set02 取集合1和集合2 的並集
-----------------------------------------------------------------------------------------------------------------------------------------
Hash:
39‘hset 雜湊名 key名 value ’ 建立一個雜湊1 , 以及裡面的一對key/value
40‘hget 雜湊名 key名’ 取雜湊裡的對應key的value
41 ‘hmset 雜湊名 k/v k/v ’ 建立一個雜湊,以及同時指定裡面的多對 key/value
42 ‘hmget 雜湊名 k1 k2 ... ’ 一次查詢出來 雜湊裡的多個key
43 ‘hgetall 雜湊名 ’ 取出 雜湊裡的所有key /value
44 ‘hdel 雜湊名 key名 ’ 刪除雜湊裡的指定的key
45 ‘ hlen 雜湊名 ’ 獲取到此雜湊的長度 (1個key/value算1)
46 ‘hexists key名 ’ 判斷某個key是否存在於雜湊中
47 ‘hkeys / hvals + 雜湊名’ 顯示此雜湊裡的所有key/所有value
48 ‘hincrby 雜湊名 key名 int數值 ’ 讓此雜湊裡的key 值加 數值
49 ‘hincrbyfloat 雜湊名 key名 float數值’ 讓此雜湊裡的key 值加 數值
50 ‘hsetnx 雜湊名 key名 value ’ 增加一對key/value 給此雜湊 前提是增加的鍵值對是之前不存在的
-----------------------------------------------------------------------------------------------------------------------------------------
ZSet
51、 ‘ zadd zset名 元素1/score 元素2/score 元素3/score ’ 建立一個zset,裡面有3個元素以及每個元素對應的score
52、 ‘zrange zset名 0 -1 ’ 檢視這個zset裡面的所有元素
53、 ‘zrangebyscore zset名 開始score 結束score’ 檢視這個zset裡,score區間對應的元素
54、 ‘zrem zset名 某個value’ 刪除某個zset裡的某個元素(即value) //value刪除後,score自動也沒了
55、‘zcard + zset名’ 獲取zset裡的元素個數
56、‘zcount zset名 score區間’ 獲取zset裡 score區間的元素個數
57、‘zrank zset名 元素名’ 檢視當前元素在zset裡的排名
58、‘zrevrank zset名 元素’ 檢視當前元素的逆序
59、‘zrevrange zset名 0 -1’ 逆序輸出zset裡的元素排名 (52的逆序)
60 、 ‘zrevrangebyscore zset名 結束score 開始score’ 逆序
61 、 ‘ZSCORE zset名 元素’ 檢視這個元素所對應的score
62、 ‘MULTI’ 開啟事務 (成功後返回OK)
事務開啟時候,命令都將進入佇列。
‘EXEC’ 執行事務 (執行佇列裡的命令,要麼全部成功,要麼全部失敗)(注意:如果在事務開啟時,加入了非 法操作,此條操作直接,報出ERROR,沒有加入佇列,EXEC會導致事務全部失敗,而在事務開啟時,加入了非法操作, 但是這 個操作已經加入了佇列,則在執行事務時候,正常操作正常執行,非法操作會出錯,不會導致全部失敗。類似受檢查異常和執行 時異常,部分支援事務,即不保證原子性,沒有回滾)
‘ DISCARD’ 放棄事務 (事務所執行的命令以及部分改動全部取消)
63、 ‘ UNWATCH ’ 取消WATCH命令對所有Key 的監視
64、 ‘WATCH’ key.../[key] //類似樂觀鎖 監視一個或者多個key,如果在事務執行之前,這個key或者這些key被其他命令 所改動,那麼事務將被打斷。
訊息的訂閱和釋出:先訂閱,然後再給頻道釋出內容後,才能收到訊息
65、 訂閱頻道: SUBSCRIBE 頻道號(比如a) //也可以一次訂閱多個頻道 eg: SUBSCRIBE a b c
也可用萬用字元 * :PSUBSCRIBE cctv* //當給cctv開頭的頻道發訊息時,不管是cctv幾,訂閱者都可以收到。
66、 給頻道發訊息 : PUBLISH a i am message //當訊息釋出後,訂閱者就可以收到訊息