Redis 命令操作

使用兩種方式來操作

1、使用redis-cli來操作curd(增刪改查)

2、使用php程序來操作curd(增刪改查)在下一節提到

 

一、使用redis-cli來操作curd(增刪改查)

啓動 ./redis-service  redis.conf

連接到redis

./redis-cli -h ip 地址 -p 端口

     1、對string 的curd(增刪改查)

        添加:

          set key value(將字符串值value關聯到key)

    如果key已經持有其他值,set就覆蓋舊值,無視類型

       舉例說明:

               set name hello

使用客戶端對redis進行curd操作,這裏我們需要使用到redis給我們提供的命令

在redis中操作字符串string

這裏重點講解如何對字符串進行curd操作

[root@ugomi bin]# ./redis-cli 
127.0.0.1:6379> set username liuyue
OK
127.0.0.1:6379> get username
"liuyue"
127.0.0.1:6379> get name
"hello"
127.0.0.1:6379> get
(error) ERR wrong number of arguments for 'get' command
127.0.0.1:6379> set name liuyue
OK
127.0.0.1:6379> get name
"liuyue"
127.0.0.1:6379> quit
You have new mail in /var/spool/mail/root
[root@ugomi bin]# ls
redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-server
[root@ugomi bin]# pwd
/usr/local/redis/bin


   刪除:

   del key(刪除key-value)

   如:del name

  設置有效時間:

          expire key 時間值(按秒計算)

  如何查看某個key-value有多少時間

        ttl key

 如何查看當前redis中的所有key

     keys *

 

 

    概述:什麼是list,list是一種數據庫結構

     set(增加,修改)、get(獲取)、del(刪除)、keys(查看所有key)、expire(設置或修改有效時間)、ttl(返回某個key-value的有效時間)

redis命令手冊

http://doc.redisfans.com/

說明:

redis指令不區分大小寫,但是出於規範考慮,應該使用大寫

 


 2、對list列表的curd操作,可以當做隊列和棧來使用

  數據結構list,即在redis中操作list,這裏重點講解如何對list crud(增刪改查)操作

     基本語法:

       LPUSH(將值value插入到列表key的表頭)

   RPUSH(將值value插入到列表key的表尾)

   LPOP(移除並返回列表key的頭元素)

   RPOP(移除並返回列表key的尾元素)

   Lrange(返回列表key中指定區間內的元素)

   LINDEX(可以指定返回第幾個元素)

     添加:

        在list前面(左邊)加

      LPUSH

LPUSH key value [value ...]

將一個或多個值 value 插入到列表 key 的表頭

如果有多個 value 值,那麼各個 value 值按從左到右的順序依次插入到表頭: 比如說,對空列表 mylist 執行命令 LPUSH mylist a b c ,列表的值將是 c b a ,這等同於原子性地執行 LPUSH mylist a 、 LPUSH mylist b 和 LPUSH mylist c 三個命令。

如果 key 不存在,一個空列表會被創建並執行 LPUSH 操作。

當 key 存在但不是列表類型時,返回一個錯誤

舉例說明:

127.0.0.1:6379> lpush ticketline "lishan"
(integer) 1
127.0.0.1:6379> lpush ticketline "zhanghsi"
(integer) 2
127.0.0.1:6379> lpush ticketline "zddds"
(integer) 3
127.0.0.1:6379> keys *
1) "name1"
2) "ticketline"
3) "username"
127.0.0.1:6379> lrange keys*
(error) ERR wrong number of arguments for 'lrange' command
127.0.0.1:6379> lrange key 0 3
(empty list or set)
127.0.0.1:6379> lrange ticketline 0 -1
1) "zddds"
2) "zhanghsi"
3) "lishan"
127.0.0.1:6379> del ticketline
(integer) 1
127.0.0.1:6379> lrange ticketline 0 -1
(empty list or set)



RPUSH

 

RPUSH key value [value ...]

將一個或多個值 value 插入到列表 key 的表尾(最右邊)。

如果有多個 value 值,那麼各個 value 值按從左到右的順序依次插入到表尾:比如對一個空列表 mylist 執行 RPUSH mylist a b c ,得出的結果列表爲 a b c ,等同於執行命令 RPUSH mylist a 、 RPUSH mylist b 、 RPUSH mylist c 。

如果 key 不存在,一個空列表會被創建並執行 RPUSH 操作。

當 key 存在但不是列表類型時,返回一個錯誤。

 

127.0.0.1:6379> rpush ticketline "liming"
(integer) 1
127.0.0.1:6379> rpush ticketline "zhangsan"
(integer) 2
127.0.0.1:6379> rpush ticketline "lisi"
(integer) 3
127.0.0.1:6379> lrange ticketline 0 -1
1) "liming"
2) "zhangsan"
3) "lisi"
127.0.0.1:6379> keys *
1) "name1"
2) "ticketline"
3) "username"



      

LINDEX

LINDEX key index

返回列表 key 中,下標爲 index 的元素。

下標(index)參數 start 和 stop 都以 0 爲底,也就是說,以 0 表示列表的第一個元素,以 1 表示列表的第二個元素,以此類推。

你也可以使用負數下標,以 -1 表示列表的最後一個元素, -2 表示列表的倒數第二個元素,以此類推。

如果 key 不是列表類型,返回一個錯誤。

 

LREM

 

LREM key count value

根據參數 count 的值,移除列表中與參數 value 相等的元素。

count 的值可以是以下幾種:

  • count > 0 : 從表頭開始向表尾搜索,移除與 value 相等的元素,數量爲 count 。
  • count < 0 : 從表尾開始向表頭搜索,移除與 value 相等的元素,數量爲 count 的絕對值。
  • count = 0 : 移除表中所有與 value 相等的值。

 

 

 

3、set集合操作

    SADD

SADD key member [member ...]

將一個或多個 member 元素加入到集合 key 當中,已經存在於集合的 member 元素將被忽略。

假如 key 不存在,則創建一個只包含 member 元素作成員的集合。

當 key 不是集合類型時,返回一個錯誤。

如:

 

127.0.0.1:6379> SADD bbs "hello word"
(integer) 1
127.0.0.1:6379> SADD bbs "test1"
(integer) 1
127.0.0.1:6379> SADD bbs "test2"
(integer) 1
127.0.0.1:6379> SMEMBERS bbs
1) "test2"
2) "test1"
3) "hello word"


SREM

 

SREM key member [member ...]

移除集合 key 中的一個或多個 member 元素,不存在的 member 元素會被忽略。

當 key 不是集合類型,返回一個錯誤。

 

127.0.0.1:6379> SMEMBERS bbs
1) "test2"
2) "test1"
3) "hello word"
127.0.0.1:6379> SREM bbs "hello word"
(integer) 1
127.0.0.1:6379> SMEMBERS bbs
1) "test2"
2) "test1"


 

SDIFF

 

SDIFF key [key ...]

返回一個集合的全部成員,該集合是所有給定集合之間的差集。

不存在的 key 被視爲空集。

 

127.0.0.1:6379> SMEMBERS bbs
1) "test2"
2) "test1"
127.0.0.1:6379> SDIFF test bbs
1) "test"
2) "test3"
3) "test4"


 

SMOVE

SMOVE source destination member

將 member 元素從 source 集合移動到 destination 集合。

SMOVE 是原子性操作。

如果 source 集合不存在或不包含指定的 member 元素,則 SMOVE 命令不執行任何操作,僅返回 0 。否則, member 元素從 source 集合中被移除,並添加到 destination 集合中去。

當 destination 集合已經包含 member 元素時, SMOVE 命令只是簡單地將 source 集合中的 member 元素刪除。

當 source 或 destination 不是集合類型時,返回一個錯誤。

 

127.0.0.1:6379> SMEMBERS word
(empty list or set)
127.0.0.1:6379> SMEMBERS hao
1) "test2"
2) "test1"
3) "hello word"
127.0.0.1:6379> SMOVE hao word "hello word"
(integer) 1
127.0.0.1:6379> SMEMBERS hao
1) "test2"
2) "test1"


SCARD

SCARD key

返回集合 key 的基數(集合中元素的數量)。

 127.0.0.1:6379> SMEMBERS word
1) "test1"
2) "hello word"
127.0.0.1:6379> SMEMBERS word
1) "test1"
2) "hello word"
127.0.0.1:6379> SCARD word
(integer) 2


 

SISMEMBER

SISMEMBER key member

判斷 member 元素是否集合 key 的成員。

 

127.0.0.1:6379> SMEMBERS word
1) "test1"
2) "hello word"
127.0.0.1:6379> SCARD word
(integer) 2
127.0.0.1:6379> SISMEMBER word test
(integer) 0
127.0.0.1:6379> SISMEMBER word test1
(integer) 1
127.0.0.1:6379> 



 

以上是講的redis部分命令操作,如果想學習更多的命令可參考redis手冊

http://doc.redisfans.com 進行學習

 

 

 

 

 

 

 


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