redis常用操作命令

redis常用操作命令

redis簡介

redis是一個高性能的key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sortedset--有序集合)和hash(哈希類型)。

redis支持主從同步。數據可以從主服務器向任意數量的從服務器上同步,從服務器可以是關聯其他從服務器的主服務器。

啓動

服務器端:

進入redis目錄(或者添加到path)

redis-server  #啓動服務命令

客戶端:

redis-cli #進入命令
ping #測試命令

數據操作

redis是key-value的數據結構,每條數據都是一個鍵值對

的類型是字符串,注意:鍵不能重複

的類型分爲五種:字符串string、哈希hash、列表list、集合set、有序集合zset

鍵命令

key pattern         #查找鍵,pattern可以是正則表達式
keys *              #查看所有鍵
keys '*a*'          #查看名字包含a的鍵
exists key'         #判斷鍵是否存在
type  key           #查看鍵類型
del key             #刪除鍵及值,對於每種類型的鍵均可使用
expire key seconds  #設置過期時間
ttl key             #查看有效時間

String

鍵值均爲string

增加、修改

set key value                     #設置鍵值  set 'you' 'wh'
setex key seconds value           #設置過期時間 set 'you' 2 'wh'
mset 'you1' 'wh1' 'you2' 'wh2'    #設置多個鍵值
append key value                  #追加值,向鍵追加值

獲取

get key        #獲取鍵值
mget key1 key2 #獲取多個鍵值

hash

存儲對象的結構爲  屬性 值, 值類型爲string

增加、修改

hset key field value                #設置單個屬性,鍵 屬性 值
hmset key field1 val1 field2 val2   #多個

獲取

hkeys key                 #獲取鍵的所有屬性
hget key field            #獲取鍵某個屬性的值
hmget key field1 field2   #獲取多個屬性的值
hvals key                 #獲取所有屬性的值

刪除

hdel key field1 field2    #刪除屬性

 list

列表元素類型爲string

增加

lpush key val1 val2       #從左側插入列表
rpush key val1 val2       #右側
linsert key before/after  列表已有元素  插入元素       #指定元素附近插入

獲取

lrange key start stop   #以索引方式獲取

修改

lset key index value   #索引訪問

刪除

lrem key count value       #將列表中前count次出現的val刪掉

set

無序集合,元素爲string類型,具有唯一性,無修改操作

sadd key val1 val2   #添加
smembers keys        #獲取值所有元素
srem key val1        #刪除指定元素

zset 

有序集合,元素爲string類型,唯一性不重複,無修改操作

每個元素關聯一個權重分數,通過分數將元素排序

zadd key score1 val1 score2 val2  #增加
zrange key start stop             #獲取區間元素
zrangebyscore key min max         #獲取在區間分數之間的元素
zscore key val                    #返回值的權重
zrem key val1 val2                #刪除指定元素
zremrangebyscore key min max      #刪除區間分數之間的元素

在python中與redis進行交互

安裝並引入redis包

pip install redis
from redis import *

主要利用StrictRedis對象  連接redis服務器,按照不同類型鍵值,進行交互

以String類型的鍵舉例,都是按照上面各種鍵的命令進行操作,其他類型類似

需要注意sr對象的刪除方法是delete ,與鍵命令中del不同

#coding=utf-8
from redis import *

if __name__=="__main__":
    try:
        #創建StrictRedis對象,與redis服務器建立連接
        sr=StrictRedis()

        #添加、獲取、修改、刪除
        result1 = sr.set('you','wh')
        result2 = sr.get('you') 
        result3 = sr.set('you','wh2)
        result4 = sr.delete('you')  
    
        result5 = sr.keys()   #獲取所有鍵
        #輸出響應結果,如果添加成功則返回True,否則返回False
        print(result)
    except Exception as e:
        print(e)        

 另外一種常用的連接方式:

import redis
# 普通連接
conn = redis.Redis(host="192.168.23.166", port=6379,password="123456")
conn.set("world","hello") # 添加鍵值
val = conn.get("world")
print(val)

備份與恢復

使用save命令備份,以dump.rdb文件存儲在redis的啓動目錄裏

恢復時只需把rdb文件放到啓動目錄即可

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