Redis五種資料型別簡單操作命令
目前正在學習Redis,總覺得好記性不如爛筆頭,所以還是把課上學到得簡單得東西做一個筆記,這樣子便於以後學習。
首先安裝Redis。
由於官網上沒有Windows系統的Redis軟體,但是微軟一直在做這個Windows的Redis。下載地址:https://github.com/MSOpenTech/redis/releases
下載之後進行簡單的配置環境變數就可以用了。
首先將下載的檔案解壓,將解壓後的位置新增到環境變數裡,我的地址如下:D:\Software\Redis-x64-3.0.504
然後開啟我們的終端(cmd)
先啟動伺服器
redis-server
然後開啟第二個終端,執行以下的命令,就可以操作Redis了
redis-cli
進入到Redis之後,我們可以進行簡單的新增資料操作。
一 字串操作命令
(1)建立
set address xicheng
然後使用get address 就可以取出name欄位的資訊
(2)取出
get address
具體效果如下:
(3)建立多個欄位使用mset
mset map xicheng no 662 road xuejiananlu36
(4)查詢多條記錄使用mget
mget map no road
具體效果如下:
(5)查詢欄位的型別使用type
type map
這是由於Redis總共只有5種資料型別,分別為 字串(string)、雜湊表(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)
string包含double int float等
這是查詢出map的資料型別是string
(6)對數字的增加與減少
預設加一
incr no
自定義增加限度
incrby no 100
預設減一
decr no
自定義減少限度
decrby no 100
具體效果如下:
二 雜湊(Hash)操作命令
(1)建立一個雜湊表
hmset teacher no 23 name "Miss Liu" age 18 sex "female" wage 6785.5
(2)獲取欄位的值
hmget teacher no sex name 或者 hget teacher no
(3)將某個field的值設定為vlaue
hset teacher no 662
這裡雖然提示 0 但是還是更改過來了的
(4) 獲取指定表的所有field和value
hgetall teacher
(5)獲取表中的欄位數
hlen teacher
(6)獲取表中的所有欄位
hkeys teacher
(7)獲取表中的所有值
hvals teacher
(8)刪除一個或多個欄位
hdel teacher no
hdel teacher name female sex
(9)檢查某欄位是否存在
hexists teacher no
hexists teacher wage
(10 )給指定欄位新增增量
hincrby teacher no 456
(11)給指定浮點數字段增加
hincrbyfloat teacher wage 0.5
這裡可能會有點疑問,為什麼精度不一樣,我試了一些數字,發現結果為0.5 或者1.0的,則精度不會改變,其他則會改變浮點數的精度。
三 列表(List)操作命令
(1) 將一個或多個值插入到列表key的頭部
lpush list1 1 2 3 4 5 6 7 8 9
(2) 將一個或多個值插入到列表key的尾部
rpush list2 1 2 3 4 5 6 7 8 9
(3) 獲取列表key中指定區間內的元素,0表示第一個元素,-1表示最後一個元素
lrange list1 0 -1
lrange list2 0 -1
(4)獲取列表key的長度
llen list2
(5)移除並返回列表的頭元素
lpop list1
lpop list2
(6)移除並返回列表的尾元素
rpop list1
rpop list2
(7)獲取列表key中指定下標的元素,0表示第一個元素
lindex list2 4
(8)將列表key的指定下標元素的值設定為value
lset list2 4 662
(9)將某個值插入到指定值之前或之後
linsert list2 after 662 663
linsert list2 before 662 614
(9)根據count移除列表中與指定值相等的所有元素
lrem list3 2 18
(10)移除列表source尾部的元素,並將其新增到destination的頭部
RPOPLPUSH source destination
rpoplpush list1 list2
四 集合(set)操作命令
(1)向集合中新增一個或者多個元素,使用 sadd 欄位進行操作
sadd set1 1 2 3 2 5 6 8 20 36 8
(2)獲取集合中的元素數量
scard set1
(3)獲取集合的所有元素
smembers set1
效果如下:
(4)判斷集合是否包含指定元素
sismember set1 4
sismember set1 8
(5)刪除集合中的一個或多個元素
srem set1 1 2 3
srem set1 20
(6)從集合中隨機抽取n個元素
srandmember set1 3
(7)從集合中隨機移除一個元素
spop set1
以下的操作需要兩個集合及以上
(8)將集合B中的元素移動到集合A
smove set2 set1 662
(9)求集合的差集
sdiff set1 set2
(10)求集合的交集
sinter set1 set2
(11)求集合的並集
sunion set1 set2
(五)有序集合(Sorted Set)操作命令
(1)向集合中新增一個或多個元素及其分數
zadd zset1 662 A 614 B 20 C 19 D 18 E 17 F 16 G
(2)獲取集合中的元素數量
zcard zset1
(3)返回指定區間的元素,score從小到大
zrange zset1 0 -1
實驗結果如下:
(4)返回指定區間的元素,score從大到小
zrevrange zset1 0 -1
實驗結果如下:
(5)獲取score介於min和max之間的元素
zrangebyscore zset1 20 662
(6)刪除集合中的一個或多個元素
zrem zset1 A C
(7)獲取某個元素的排名,score從小到大
zrank zset1 20
(8)獲取某個元素的排名,score從大到小
zrevrank zset1 20
(9)計算分數在min和max之間的元素數
zcount zset1 16 614
(10)獲取某個元素的分數
zscore zset1 A
到這裡,redis的基本操作已經完結了,但是還是需要勤加練習,所謂好記性不如爛筆頭,學習愉快^^