對Redis的學習與應用
最近在寫指令碼的時候需要將大量資料處理後存到Redis中,在此學習與總結。
關於Redis
Redis是一個開源,高階的鍵值儲存和一個適用的解決方案,用於構建高效能,可擴充套件的Web應用程式。
Redis有三個主要特點,使它優越於其它鍵值資料儲存系統 。
Redis將其資料庫完全儲存在記憶體中,僅使用磁碟進行持久化。
與其它鍵值資料儲存相比,Redis有一組相對豐富的資料型別。- Redis可以將資料複製到任意數量的從機中。
Redis的優點
異常快
Redis非常快,每秒可執行大約110000次的設定(SET)操作,每秒大約可執行81000次的讀取/獲取(GET)操作。支援豐富的資料型別 - Redis支援開發人員常用的大多數資料型別,例如列表,集合,排序集和雜湊等等。這使得Redis很容易被用來解決各種問題,因為我們知道哪些問題可以更好使用地哪些資料型別來處理解決。
操作具有原子性
所有Redis操作都是原子操作,這確保如果兩個客戶端併發訪問,Redis伺服器能接收更新的值。多實用工具
Redis是一個多實用工具,可用於多種用例,如:快取,訊息佇列(Redis本地支援釋出/訂閱),應用程式中的任何短期資料,例如,web應用程式中的會話,網頁命中計數等。
Redis使用
以上操作主要是:
1.檢查Redis是否正在工作;
2.在上面的提示中,127.0.0.1是計算機的IP地址,6379是執行Redis伺服器的埠。 現在鍵入以下PING命令。
常用命令:
HDEL key field2 [field2]
刪除一個或多個雜湊表字段HEXISTS key field
檢視雜湊表 key 中,指定的欄位是否存在。HGET key field
獲取儲存在雜湊表中指定欄位的值。HGETALL key
獲取在雜湊表中指定 key 的所有欄位和值HINCRBY key field increment
為雜湊表 key 中的指定欄位的整數值加上增量 increment 。HINCRBYFLOAT key field increment
為雜湊表 key 中的指定欄位的浮點數值加上增量 increment 。HKEYS key
獲取所有雜湊表中的欄位HLEN key
獲取雜湊表中欄位的數量HMGET key field1 [field2]
獲取所有給定欄位的值HMSET key field1 value1 [field2 value2 ]
同時將多個 field-value (域-值)對設定到雜湊表 key 中。HSET key field value
將雜湊表 key 中的欄位 field 的值設為 value 。HSETNX key field value
只有在欄位 field 不存在時,設定雜湊表字段的值。HVALS key
獲取雜湊表中所有值HSCAN key cursor [MATCH pattern] [COUNT count]
迭代雜湊表中的鍵值對。
注:
其中,在寫指令碼時主要將處理好的資料寫入Redis中,配置相關資訊如下:
# Local_Env為True,表示處於本地測試環境,為False表示處於線上環境
Local_Env = False
# Local_Env = True
if Local_Env:
# redis配置
redis_config = {'host': '127.0.0.1', 'port': 6379}
else:
# redis配置
redis_config = {'host': 'xxx.xxx.xxx.com', 'port': xxxx}
Redis_BD = redis.StrictRedis(host=redis_config['host'], port=redis_config['port'])
處理好資料以後將資料存入即可:
Redis_BD.hset(redis_key, data_s, data_t)