1. 程式人生 > >Redis的基本資料操作命令(一)

Redis的基本資料操作命令(一)

一 String型別

1 set

設定key對應的值。

set name Diamond

2 setnx

設定key的值,如果key已存在,返回0。nx為not exist的意思。

127.0.0.1:6379> setnx name Fox
(integer) 0

3 setex

設定key的值,並設定key的存活時間。

127.0.0.1:6379> setex age 10 24
OK
127.0.0.1:6379> get age
"24"
127.0.0.1:6379> get age
(nil)

4 setrange

設定key的指定位置的值

127.0.0.1:6379> set email Diamond@126.com
OK
127.0.0.1:6379> setrange email 8 gmail.com
(integer) 17
127.0.0.1:6379> get email
"[email protected]"

5 mset

一次設定多個key的值。成功返回ok表示所有值都被設定,失敗返回0表示沒有任何值被設定。

127.0.0.1:6379> mset name1 Alex name2 Bob name3 Candy 
OK

6 msetnx

一次設定多個key的值,如果key已存在,則返回0,不會覆蓋已存在的key的值,也就是會回滾,所有操作都不被執行。如果成功返回ok。

127.0.0.1:6379> msetnx name1 Diamond name4 Fox
(integer) 0
127.0.0.1:6379> get name1
"Alex"
127.0.0.1:6379> get name4
(nil)

7 get

獲取指定key的值

127.0.0.1:6379> get name1
"Alex"

8 getset

設定key的值,並返回key的舊值。如果key不存在,返回nil。

127.0.0.1:6379> getset name1 Diamond
"Alex"

9 getrange

獲得指定位置的值。負數為從後面開始,如果指定位置大於長度,則返回最後。

127.0.0.1:6379> get email
"Diamond@gmail.com"
127.0.0.1:6379> getrange email 0 6
"Diamond"
127.0.0.1:6379> getrange email -9 -1
"gmail.com"
127.0.0.1:6379> getrange email 7 100
"@gmail.com"

10 mget

一次獲得多個值,如果不存在,返回nil。

127.0.0.1:6379> mget name1 name2 name3 name4
1) "Diamond"
2) "Bob"
3) "Candy"
4) (nil)

11 incr

對key的值加1,也就是做++操作。操作一個不是int的值會返回錯誤。incr一個不存在的key會設定key為1。

127.0.0.1:6379> set age 24
OK
127.0.0.1:6379> get age
"24"
127.0.0.1:6379> incr age
(integer) 25
127.0.0.1:6379> get age
"25"

12 incrby

對key的值加指定的數。key不存在,則設定key=指定的數。

127.0.0.1:6379> get age
"25"
127.0.0.1:6379> incrby age 5
(integer) 30
127.0.0.1:6379> get age
"30"
127.0.0.1:6379> incrby age1 5
(integer) 5
127.0.0.1:6379> get age1
"5"

13 decr

減去1,執行–操作。key不存在,設為-1。

127.0.0.1:6379> get age1
"5"
127.0.0.1:6379> decr age1
(integer) 4
127.0.0.1:6379> get age1
"4"

14 decrby

減去指定的值。

127.0.0.1:6379> get age1
"4"
127.0.0.1:6379> decrby age1 2
(integer) 2
127.0.0.1:6379> get age1
"2"

15 append

給指定的key追加value,返回value的長度。

127.0.0.1:6379> get name1
"Diamond"
127.0.0.1:6379> append name1 @gmail.com
(integer) 17
127.0.0.1:6379> get name1
"[email protected]"

16 strlen

返回key的長度。

127.0.0.1:6379> get name1
"[email protected]"
127.0.0.1:6379> strlen name1
(integer) 17

二 Hashes型別

主要用來儲存物件型別。

1 hset

設定hash field為指定值,不存在則建立。

127.0.0.1:6379> hset myhashtest field1 Hello
(integer) 1

2 hsetnx

設定hash field的值,如果已存在返回0。

127.0.0.1:6379> hsetnx myhashtest field "hello"
(integer) 1
127.0.0.1:6379> hsetnx myhashtest field "hello"
(integer) 0

2 hsetnx

同時設定key的多個field與值。

127.0.0.1:6379> hmset message name Diamond age 24 sex gender
OK

3 hget

獲取指定key的field的值。(物件欄位的值)

127.0.0.1:6379> hget message name
"Diamond"

4 hmget

獲取全部指定的 key field的值。

127.0.0.1:6379> hmget message name age sex
1) "Diamond"
2) "24"
3) "gender"

5 hincrby

給指定的field加上指定的值。

127.0.0.1:6379> hincrby message age 3
(integer) 27
127.0.0.1:6379> hget message age
"27"

6 hexists

判斷指定field是否存在

127.0.0.1:6379> hexists message age
(integer) 1

7 hlen

返回指定key的field數。

127.0.0.1:6379> hlen message
(integer) 3

8 hdel

刪除指定key的field。

127.0.0.1:6379> hdel message age
(integer) 1
127.0.0.1:6379> hlen message
(integer) 2

9 hkeys

返回key的所有field

127.0.0.1:6379> hkeys message
1) "name"
2) "sex"

10 hvals

返回key的所有value。

127.0.0.1:6379> hvals message
1) "Diamond"
2) "gender"

11 hgetall

返回所有的field和value。

127.0.0.1:6379> hgetall message
1) "name"
2) "Diamond"
3) "sex"
4) "gender"

三 list型別操作

list是一個連結串列結構,理解為連結串列的名字。

1 lpush

在key的頭部新增元素。

127.0.0.1:6379> lpush listtest Diamond
(integer) 1
127.0.0.1:6379> lpush listtest Fox
(integer) 2
127.0.0.1:6379> lpush listtest Alex
(integer) 3
127.0.0.1:6379> lrange listtest 0 -1
1) "Alex"
2) "Fox"
3) "Diamond"

2 rpush

在list的尾部新增元素。

127.0.0.1:6379> rpush listtest Jam
(integer) 4
127.0.0.1:6379> rpush listtest jone
(integer) 5
127.0.0.1:6379> rpush listtest LuLu
(integer) 6
127.0.0.1:6379> lrange listtest 0 -1
1) "Alex"
2) "Fox"
3) "Diamond"
4) "Jam"
5) "jone"
6) "LuLu"

3 linsert

在指定位置的前或後插入資料

127.0.0.1:6379> linsert listtest before LuLu Auke
(integer) 7
127.0.0.1:6379> lrange listtest 0 -1
1) "Alex"
2) "Fox"
3) "Diamond"
4) "Jam"
5) "jone"
6) "Auke"
7) "LuLu"
127.0.0.1:6379> linsert listtest after Jone Miss
(integer) -1
127.0.0.1:6379> lrange listtest 0 -1
1) "Alex"
2) "Fox"
3) "Diamond"
4) "Jam"
5) "jone"
6) "Auke"
7) "LuLu"

4 lset

設定指定位置的元素的值。

127.0.0.1:6379> lset listtest 0 Adell
OK
127.0.0.1:6379> lrange listtest 0 -1
1) "Adell"
2) "Fox"
3) "Diamond"
4) "Jam"
5) "jone"
6) "Auke"
7) "LuLu"

5 lrem

刪除和指定value相同值的元素。刪除count個。count小於0時,從尾部開始刪除。count=0時,全部刪除。

127.0.0.1:6379> lrem listtest 2 Adell
(integer) 1
127.0.0.1:6379> lrange listtest 0 -1
1) "Fox"
2) "Diamond"
3) "Jam"
4) "jone"
5) "Auke"
6) "LuLu"

6 ltrim

保留指定區間內的元素。

127.0.0.1:6379> lrange listtest 0 -1
1) "Fox"
2) "Diamond"
3) "Jam"
4) "jone"
5) "Auke"
6) "LuLu"
127.0.0.1:6379> ltrim listtest 1 -1
OK
127.0.0.1:6379> lrange listtest 0 -1
1) "Diamond"
2) "Jam"
3) "jone"
4) "Auke"
5) "LuLu"

7 lpop

從list的頭部刪除元素。

127.0.0.1:6379> lrange listtest 0 -1
1) "Diamond"
2) "Jam"
3) "jone"
4) "Auke"
5) "LuLu"
127.0.0.1:6379> lpop listtest
"Diamond"
127.0.0.1:6379> lrange listtest 0 -1
1) "Jam"
2) "jone"
3) "Auke"
4) "LuLu"

8 rpop

從尾部刪除元素。

127.0.0.1:6379> lrange listtest 0 -1
1) "Jam"
2) "jone"
3) "Auke"
4) "LuLu"
127.0.0.1:6379> rpop listtest
"LuLu"
127.0.0.1:6379> lrange listtest 0 -1
1) "Jam"
2) "jone"
3) "Auke"

9 rpoplpush

從第一個list刪除元素,新增到第二個list的頭部。操作是原子性的。第一個list為空返回nil。

127.0.0.1:6379> lrange listtest2 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
127.0.0.1:6379> rpoplpush listtest listtest2
"Auke"
127.0.0.1:6379> lrange listtest2 0 -1
1) "Auke"
2) "4"
3) "3"
4) "2"
5) "1"

10 lindex

返回list指定index的值。

127.0.0.1:6379> lindex listtest2 0
"Auke"

11 llen

返回指定list的長度。

127.0.0.1:6379> llen listtest2
(integer) 5

相關推薦

Redis基本資料操作命令

一 String型別 1 set 設定key對應的值。 set name Diamond 2 setnx 設定key的值,如果key已存在,返回0。nx為not exist的意思。 127.0.0.1:6379> setnx n

redis基本命令

1.Redis命令1.1獲得符合規則的鍵名列表keys pattern1.2判斷一個鍵是否存在exists key1.3刪除鍵del key1.4獲得鍵值的資料型別type key2.redis字串型別2.1賦值與取值set key valueget key2.2 遞增數字字

linux 基本命令

達內 linux 筆記 UNIX誕生,1970年1月1日 用戶-------->內核-------》硬件 發行版的名稱/版本由發行方決定 – Red Hat Enterprise Linux 5/6/7 – Suse Linux Enterprise 12 – Debian Linu

Git常用命令------ 本地操作

mov ast 常用 stage director git reset 本地 posit 自動 本文總結自廖雪峰的網站。 幾個名詞: 工作區(Working Directory):電腦裏能看到的目錄 版本庫(Repository):包含暫存區和master 暫存區(Stag

基於Curator操作ZooKeeper-基本操作

Java原生API操作ZooKeeper可參看: Java原生API操作Zookeeper(一) Java原生API操作Zookeeper(二) 相關內容: 基於Curator操作ZooKeeper(二)-Watcher操作 基於Curator操作ZooKeeper(二)-W

Oracle基本命令

Oracle基本命令(一) 1.create user username identified by password;//建使用者名稱和密碼oracle ,oracle 2.grant connect,resource,dba to username;//授權 grant connect,

資料結構淺析資料結構基本概念

轉載自https://m.meiwen.com.cn/subject/kzgvhttx.html 首先會有個疑問,什麼是資料結構呢? 資料結構(data structure),可以概括為是互相之間存在一種或多種特定關係的資料元素的集合。 開篇配圖

資料之hbase --- HBase介紹,特性,安裝部署,shell命令,client端與hbase的互動過程,程式設計API訪問hbase實現百萬寫入

一、HBase介紹 ---------------------------------------------- 1.基於hadoop的資料庫,具有分散式,可伸縮的大型資料儲存 2.用於對資料的隨機訪問,實時讀寫 3.巨大的表,十億行*百萬列

linux學習筆記之常用基本命令

1.幫助命令 man獲取幫助資訊 語法:man[命令或配置檔案] help獲得shell內建命令的幫助資訊 語法:help 命令 例: help cd 常用快捷鍵 ctrl +c: 停止程序 ctrl +l: 清屏 ctrl +q: 退出 tab鍵 :補全命令(常用t

Util應用程式框架公共操作:資料型別轉換公共操作介紹篇

  本系列文章將介紹一些對初學者有幫助的輔助類,這些輔助類本身並沒有什麼稀奇之處,如何能發現需要封裝它們可能更加重要,所謂授之以魚不如授之以漁,掌握封裝公共操作類的技巧才是關鍵,我會詳細說明建立這些類的動機和思考過程,以幫助初學者發現和封裝自己需要的東西。建立公共操作類的技巧,大家可以參考我的這篇文章——應用

Linux下的檔案操作命令、檔案顯示命令

1.cat命令 cat用來顯示檔案的內容。 1)一般格式 cat 【選項】 檔案 2)說明 一是顯示檔案內容;二是連線兩個或者多個檔案。 3)常用選項 -b 從1開始對所有非空輸出編號

Linux--C語言操作資料庫插入資料

 各種渠道去找有關於使用C語言操作資料庫的資料,好辛苦,弄出來了! 資料庫部分 首先建立一張表 create table children(childno int not null unique,fname varchar(20),age int);

基本控件使用

url ext .html his post 方式 blog tex ont (一)控件的方式 1.用XML代碼定義 <TextView android:layout_width="fill_parent"

Linux入門基礎命令

linux運維Linux入門基礎命令內部命令常駐內存:由shell自帶的,而且通過某命令形式提供help:獲取所有內部命令列表(下圖只截取了一部分)enable COMMAND:執行此命令可以啟用COMMAND命令enable -n COMMAND:執行此命令可以禁用COMMAND命令enable -n:查看

Linux下基礎命令

linux find 實戰操作 每天積累知識就會有成長,只要付出在不久的將來一定會有收獲,可能回來的晚點,但是一定要貴在堅持,今天第一次發博客,如不出意外情況我每天都會發的,這個是我總結的find命令的一些實戰,希望我總結的知識點在今後會對大家有幫助。find -name "*a" #以a

Redis源碼試讀源碼準備

.com 準備 redis setup redis源碼 下載 操作 源碼 版本 這裏開始查看Redis的源碼,之前是在看Unix的環境編程,雖然這本書寫的很好,但是只看這個感覺有點隔靴搔癢。你可以知道沙子、水泥、鋼筋的特性,但是要想建一棟大樓仍然是另一回事。Unix環境編程

liuux 文件管理命令

linux文件管理命令 楚天逸 於平 linux Linux 文件管理命令(整理版 一 )1.cat: 用於八檔案串聯接後傳到基本輸出. 使用權限:所有使用者 語法格式: cat [-AbeEnstTuv] [--help] [--

LINUX常用命令

linux 基礎 初學者 常用 侯良金 LINUX常用命令(一)一、Red hat 系統開機引導過程1、linux操作系統的引導過程一般包括以下幾個階段:開機自檢、MBR引導、GRUB菜單、加載Linux內核、init進程初始化。2、Linux系統中的進程使用數字進行標記,每個進程

Linux 常用命令

技術 alt http es2017 mage inux lin 常用命令 .cn 1. cd、pwd 2. ls 3. 文件移動等操作 4. 刪除操作 5. 特殊符號 3. \  轉義字符 6. 常用寫法 Linux 常用命令(一)

Redis高級進階

具體類 tro 類型 長度 刪除過期數據 專用 影響 生活 設置時間 一、redis中的事務 在關系型數據庫中事務是必不可少的一個核心功能,生活中也是處處可見,比如我們去銀行轉賬,首先需要將A賬戶的錢劃走,然後存到B賬戶上,這兩個步驟必須在同一事務中,要麽都執行,要麽都不執