Python 緩存服務

緩存服務:mongodb、redis、memcache
  • mongodb:早期的緩存系統,直接持久話,數據即存內存也同步到硬盤。
  • redis:主流緩存系統,半持久化,默認存在內存,須要手動調用存在硬盤,可經過需求配置。
  • memcache:輕量級緩存服務,只能存在內存,不能持久化。

 

Redis介紹
  Redis是單線程經過異步epoll實現高併發。最高讀寫速度(每秒/讀8W數據)。
  Redis 默認有16個db 至關與16張表避免有相同的key衝突。
  redis是業界主流的key-value nosql 數據庫之一。和Memcached相似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操做,並且這些操做都是原子性的。在此基礎上,redis支持各類不一樣方式的排序。與memcached同樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操做寫入追加的記錄文件,而且在此基礎上實現了master-slave(主從)同步。
 
Redis優勢
  • 異常快速 : Redis是很是快的,每秒能夠執行大約110000設置操做,81000個/每秒的讀取操做。
  • 支持豐富的數據類型 : Redis支持最大多數開發人員已經知道如列表,集合,可排序集合,哈希等數據類型。
  • 這使得在應用中很容易解決的各類問題,由於咱們知道哪些問題處理使用哪一種數據類型更好解決。
  • 操做都是原子的 : 全部 Redis 的操做都是原子,從而確保當兩個客戶同時訪問 Redis 服務器獲得的是更新後的值(最新值)。
  • MultiUtility工具:Redis是一個多功能實用工具,能夠在不少如:緩存,消息傳遞隊列中使用(Redis原生支持發佈/訂閱),在應用程序中,如:Web應用程序會話,網站頁面點擊數等任何短暫的數據;

 

Linux Redis安裝html

終端:tar -xvf 包名      #解壓
終端:cd redis-3.0.6   #進入目錄

終端:make        #編譯安裝python

  • 啓動服務端
  • 安裝目錄下:src/redis-server
  • 啓動客戶端
  • 安裝目錄下:src/redis-cli

 

Python安裝redis
3.0內涉及到socket統一都是bays類型
 
安裝redis模塊
sudo pip install redis
or
sudo easy_install redis
or

 

操做模式

  1.python連接redisredis

  redis-py提供兩個類Redis和StrictRedis用於實現Redis的命令,StrictRedis用於實現大部分官方的命令,並使用官方的語法和命令,Redis是StrictRedis的子類,用於向後兼容舊版本的redis-py。
import redis
# 建立實例對象,獲取服務端IP地址 r = redis.Redis(host='192.168.1.150', port=6379) # 加入keys 與 value r.set('foo', 'Bar') # 打印foo value print(r.get('foo'))

  

  2.連接池sql

  不斷的向redis內取數據,不斷的連接創建socket資源消耗很大,可使用鏈接池來。
  redis-py使用connection pool來管理對一個redis server的全部鏈接,避免每次創建、釋放鏈接的開銷。默認,每一個Redis實例都會維護一個本身的鏈接池。能夠直接創建一個鏈接池,而後做爲參數Redis,這樣就能夠實現多個Redis實例共享一個鏈接池。
import redis
# 建立鏈接池實例對象,獲取服務端IP地址 pool = redis.ConnectionPool(host='192.168.1.150', port=6379) # 連接鏈接池 r = redis.Redis(connection_pool=pool)
# 加入keys與value r.set('foo', 'Bar')

# 打印value值 print(r.get('foo'))

 

memcache學習:http://www.cnblogs.com/wupeiqi/articles/5132791.htmlmongodb

相關文章
相關標籤/搜索