redis簡單操做

1、redis 基礎操做

1.一、string 類型及操做

string 是最簡單的類型,一個key對應一個value,string類型是二進制安全的。redis的string能夠包含任何數據。mysql

一、set: 設置值
127.0.0.1:6379> set name haha
OK

二、setnx: 設置值,若是鍵已經存在則返回0,不然返回1
127.0.0.1:6379> setnx name haha
(integer) 0
127.0.0.1:6379> setnx info a
(integer) 1

三、get:獲取鍵對應的值
127.0.0.1:6379> get name
"haha"

四、mset,mget:設置或者獲取多個鍵值對
127.0.0.1:6379> MSET name haha age 18 sex nv
OK
127.0.0.1:6379> MGET name age sex
1) "haha"
2) "18"
3) "nv"

五、incrby:對 key 的值作加加(指定值)操做,並返回新的值
127.0.0.1:6379> INCRBY age 2
(integer) 22

六、incr:對 key 的值作加值,並返回新的值
127.0.0.1:6379> INCR age
(integer) 19

七、del:刪除一個已建立的 key
127.0.0.1:6379> del name
(integer) 1
1.二、hash 類型及操做

Redis hash 是一個 string 類型的 field(字段)和 value 的映射表,hash 特別適合用於存儲對象,相較於將對象的每一個字段存成單個 string 類型,將一個對象存儲在 hash 類型中會佔用更少的內存,而且能夠更方便的存取整個對象。redis

一、hset:設置 hash field 爲指定值,若是 key 不存在,則先建立。
127.0.0.1:6379> HSET dic name huahua
(integer) 1

二、hget、hmset、hmget,與上面的string相似    
127.0.0.1:6379> HMSET dic1 name ah age 18
OK

三、 hdel:刪除制定表中的某一個鍵值對 
127.0.0.1:6379> HDEL dic1 name
(integer) 1

四、hgetall:列出表中的全部鍵值對
127.0.0.1:6379> HGETALL dic1
1) "age"
2) "18"
1.三、list 類型及操做

list 是一個鏈表結構,主要功能是 push、pop、獲取一個範圍內的全部值等等,操做中 key 理解爲鏈表的名字。Redis 的 list 類型其實就是一個每一個子元素都是 string 類型的雙向鏈表。咱們能夠經過 push、pop 操做從鏈表的頭部或尾部添加刪除元素。sql

一、lpush:在 key 對應 list 從左添加字符串元素
127.0.0.1:6379> LPUSH name haha ee nnn
(integer) 3

二、lrange:在 key 對應 list 從左遍歷字符串元素,需指定起始和結束索引
127.0.0.1:6379> LRANGE name 0 -1
1) "nnn"
2) "ee"
3) "haha"

三、lpop:在 key 對應 list 從左刪除一個元素
127.0.0.1:6379> LPOP name
"nnn"

四、rpop,rpush 相似,不過是從list右邊插入與刪除
1.四、Set 類型及操做

set 是集合,他是 string 類型的無序集合。Set 是經過 hash table 實現的,對集 、交集、差集。經過這些操做,集合不容許有重複值。數據庫

一、sadd:添加一個或多個元素到集合中
127.0.0.1:6379> sadd k1 1 2 3 4 5 
(integer) 5

二、smembers:獲取集合裏面全部的元素
127.0.0.1:6379> SMEMBERS k1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"

三、srem:從集合中刪除指定的一個或多個元素
127.0.0.1:6379> SREM k1 2
(integer) 1

四、spop:隨機從集合中刪除一個元素,並返回 
127.0.0.1:6379> SPOP k1
"3"

五、sdiff:返回集合 1 與集合 2 的差集
127.0.0.1:6379> SDIFF k1 k2
1) "1"

六、sinter:得到兩個集合的交集
127.0.0.1:6379> SINTER k1 k2
1) "4"
2) "5"

七、sinter:得到兩個集合的交集 
127.0.0.1:6379> SUNION k1 k2
1) "1"
2) "3"
3) "4"
4) "5"
5) "6"
1.5 zset 類型及操做

zset 是 set 的一個升級版本,它在 set 的基礎上增長了一個順序屬性,這一屬性在添加修改元素的時候能夠指定,每次指定後,zset 會自動從新按新的值調整順序。能夠理解爲有兩列的 mysql 表,一列存的 value,一列存的順序。操做中 key 理解爲 zset 的名字.安全

一、zadd:向一個指定的有序集合中添加元素,每個元素會對應的有一個分數。你能夠指定多個分數/成員組合。若是一個指定的成員已經在對應的有序集合中了,那麼其分數就會被更新成最新的,而且該成員會從新調整到正確的位置,以確保集合有序。分數的值必須是一個表示數字的字符串。
127.0.0.1:6379> ZADD  xx  1 zs 2 ls
(integer) 2

二、zrange:返回有序集合中,指定區間內的成員。其中成員按照 score(分數)值從小到大排序。
127.0.0.1:6379> ZRANGE xx 0 -1
1) "zs"
2) "ls"

三、zrem: 刪除有序集合內元素
127.0.0.1:6379> ZREM xx zs
(integer) 1

四、zcard:返回有序集合元素的個數
127.0.0.1:6379> ZCARD xx
(integer) 1

2、其餘命令

一、keys:按照鍵名查找指定的鍵。支持通配符(* ?等)
127.0.0.1:6379> keys *
 1) "age"
 2) "dics"
 3) "dic"
 4) "sex"
 5) "xx"
二、 exists:確認一個鍵是否存在(1 表示存在)
127.0.0.1:6379> EXISTS age
(integer) 1
三、 del:刪除一個鍵(通用)
127.0.0.1:6379> del age
(integer) 1
四、expire:設置一個鍵(已存在)的過時時間,若是鍵已通過期,將會被自動刪除
127.0.0.1:6379> EXPIRE age 20
(integer) 0
五、ttl:以秒爲單位,返回指定鍵的剩餘有效時間

當 key 不存在時,返回 -2
當 key 存在但沒有設置剩餘生存時間時,返回 -1
不然,以秒爲單位,返回 key 的剩餘生存時間。服務器

127.0.0.1:6379> TTL age
(integer) -2
127.0.0.1:6379> ttl k2
(integer) -1
六、select:選擇一個數據庫,默認鏈接的數據庫是 0,能夠支持共 16 個數據庫。在配置文件中,經過 databases 16 關鍵字定義。
127.0.0.1:6379> SELECT 1
OK
127.0.0.1:6379[1]> keys *
1) "k1"
七、move:將當前數據庫的鍵移動到指定的數據庫中
127.0.0.1:6379> MOVE k1 1
(integer) 1
八、type:返回鍵的類型
127.0.0.1:6379[1]> TYPE k1
set
九、dbsize:返回當前庫中鍵的數量
127.0.0.1:6379> DBSIZE 
(integer) 10
十、save:保存全部的數據。不多在生產環境直接使用 SAVE 命令,由於它會阻塞全部的客戶端的請求,可使用 BGSAVE 命令代替. 若是在 BGSAVE 命令的保存數據的子進程發生錯誤的時,用 SAVE 命令保存最新的數據是最後的手段。
十一、info:獲取服務器的詳細信息
十二、config get:獲取 redis 服務器配置文件中的參數。支持通配符
127.0.0.1:6379> CONFIG GET *
#獲取因此配置參數
127.0.0.1:6379> CONFIG GET port
1) "port"
2) "6379"
1三、flushdb:刪除當前數據庫中全部的數據
14.、flushall:刪除全部數據庫中的全部數據
相關文章
相關標籤/搜索