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文件放到啓動目錄即可