redis的常用命令及實例講解


 

使用命令行操作redis

數據類型

字符串String

列表list 使用雙向循序鏈表實現(LinkedList)

散列 Hash 一般應用於將redis作為分布式緩存,存儲數據庫中的數據對象

集合set

有序集合zset 會自動排名,一般用於商品的排名

命令:

String數據類型的命令:

set:保存數據或修改數據: 例如 set name zhangsan

get 取數據   例如 get name

incr:遞增 每使用一次   例如:incr age(可以用於年齡每年加一)

decr:遞減 沒使用一次           例如:decr age

incrby:增加 例如:incrby age 10 (如果age的值剛開始為20,執行命令后,值為30)

hash數據類型的命令:

hset:存hash 例如: hset user1 name zhangsan 存user1的名字為zhangsan

hget 取hash 例如: hget user1 name取user1的名字

如果用戶的屬性字段太多的話這樣存取很麻煩

hmset:存對象:hmset user1 name zhangsan password admin age 10 用戶名為張三 密碼為admin 年齡10

hmget:取對象 hmget user1 name age password

hgetall:取對象的所有屬性的值 hgetall user2 取用戶的所有信息

hdel:刪除字段 hdel user2 name

 

list數據類型的命令

lpush:左存 例如:lpush key1 1 2 3 ;向key1集合中放入1,2,3三個數;

lrange:取值 例如 lrange key1 0 -1;取出key1 中所有的數據,命令格式:lrange 集合名稱 開始索引 結束索引(結束索引為-1時取出所有的數據)

rpush:右存,例如:rpush key1 7 8 9 向key1中保存7,8,9

再取一次 lrange key1 注意一下格式

lpop:從左邊彈出數據(刪除最左邊) 例如 lpop key1 彈出key1 集合的最上邊的值

 

rpop:從右邊彈出數據(刪除最右邊) 例如 rpop key1 彈出key1 集合最底部的值

左右各彈出一次,使用lrange key1 0  -1查詢所有數據,顯示如下:

set數據類型的命令(無序,不允許重復)

sadd :保存數據 例如sadd key1 1 2 3 4 5 向集合key1 中添加 1,2,3,4,5

smembers:查詢數據 例如 smembers key1 查詢key1 中的所有句酷

sismember:判斷集合中是否存在某個元素 例如 sismember key1 10 判斷集合key1中是否存在10 如果存在就返回1,不存在返回0;

sdiff:集合運算差集,例如sdiff key1 key2 求key1和kye2的差集 key1-key2

sinter:交集 例如 sinter key1 key2 求key1和key2的交集

sunion:並集 例如sunion key1 key2 求key1和key2的並集

zset數據類型的命令(有序集合,redis會自動排序)

zadd:添加 例如 zadd zkey1 10 zhangsan 10 lisi 15 wangwu

zrange :查詢(已經自動排序)

例如:zrange zkey1 0 -1 withscores(如果命令不帶withscores則不會顯示分數)

zrem:刪除;例如zrem zkey1 wangwu 刪除王五

 

zscore:查詢單個分數 zsore zkey1 lisi 查詢zkey1集合中lisi的分數

zrevrange:降序排序 例如: zrevrange zkey1 0 -1 withscores(命令中帶有withscores則會顯示分數)

通用命令:

keys:返回滿足給定pattern的所有key 例如keys *ad 查詢所有以ad結尾的key

ping:檢查服務器是否還活着,發一個ping,服務器會響應一個PONG

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM