python操作redis
redis是一個key—value的存儲系統。與Memcached相比,支持的數據類型更加的豐富,包括string(字符串)、list(鏈表)、set(集合)、zset(有序集合)、hash(哈希類型)
這些數據類型都支持push/pop、add/remove等操作,這些操作都是原子性的,此外,redis還支持不同的排序方式。且數據都是緩存在內存中。redis能周期性的把更新的數據寫入磁盤
或者把修改操作寫入追加的記錄文件。並在此基礎上實現主從同步
1、在centos7上安裝redis
yum install redis -y 或者 wget http://download.redis.io/releases/redis-3.0.6.tar.gz tar xzf redis-3.0.6.tar.gz cd redis-3.0.6 make
2、啟動redis
這里需要修改redis的一些配置
打開redis.conf配置文件,將"bind"的注釋打開,之后將daemonize yes 改為 no 這是讓redis在后台啟動
之后再指定配置文件啟動:redis-server /etc/redis.conf
啟動之后再根據命令進入客戶端:redis-cli
為了安全起見,可以在配置文件中修改登錄密碼。修改之后退出重新登錄,這時就會要求輸入密碼
3、python鏈接redis
#!/usr/bin/env python # -*- coding:utf8 -*- import redis r = redis.Redis(host='192.168.11.122',password='123123',port=6379) r.set('foo', 'Bar') print (r.get('foo'))
如果是在centos上啟動的redis,需要修改redis配置文件的bind參數,可以修改為"0.0.0.0",或者指定訪問主機的ip地址
4、線程池操作redis
使用connection pool 來管理對一個redis server的所有連接,避免每次建立,釋放連接的開銷,默認 每個redis實例都會維護一個自己的鏈接池,然后作為參數redis,這樣就可以實現多個redis 實例共享一個連接池
import redis pool = redis.ConnectionPool(host='192.168.11.122',password='123123',port=6379) r = redis.Redis(connection_pool=pool) r.set('name','Yu chao') print(r.get('name'))