參考文章:https://blog.csdn.net/fgf00/article/details/52917154
一、Redis簡介
redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value類型相對更多,包括string(字串)、list(鏈表)、set(集合)、zset(sorted set –有序集合)和hash(雜湊類型)。這些資料類型都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支援各種不同方式的排序。與memcached一樣,為了保證效率,資料都是緩衝在記憶體中。區別的是redis會周期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案,並且在此基礎上實現了master-slave(主從)同步。
1、Redis安裝和基本使用
Redis 和 python操作模組 安裝 及 啟動
yum install redis
pip3 install Redis
systemctl start redis.service
1
2
3
查看版本:
redis-cli info # redis詳細資料
redis-cli –version | redis-cli -v
redis-server –version | redis-server -v
1
2
3
簡單使用:
[root@localhost ~]# redis-cli # 進入redis cli視窗
127.0.0.1:6379> set name fgf # 設定值
OK
127.0.0.1:6379> set age 02
OK
127.0.0.1:6379> keys * # 當前所有key
1) “age”
2) “name”
127.0.0.1:6379> set sex m ex 2 # 設定值,只存活2秒
OK
127.0.0.1:6379> get sex # 擷取值
“m”
127.0.0.1:6379> flushdb # 清空當前db下的所有索引值
OK
127.0.0.1:6379> flushall # 清空所有db下的索引值
OK
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2、Python操作Redis
1)操作模式
redis-py提供兩個類Redis和StrictRedis用於實現Redis的命令,StrictRedis用於實現大部分官方的命令,並使用官方的文法和命令,Redis是StrictRedis的子類,用於向後相容舊版本的redis-py。
import redis
r = redis.Redis(host=’127.0.0.1’, port=6379)
r.set(‘foo’, ‘Bar’)
print (r.get(‘foo’))
1
2
3
4
5
2)串連池
redis-py使用connection pool來管理對一個redis server的所有串連,避免每次建立、釋放串連的開銷。預設,每個Redis執行個體都會維護一個自己的串連池。可以直接建立一個串連池,然後作為參數Redis,這樣就可以實現多個Redis執行個體共用一個串連池。
import redis
pool = redis.ConnectionPool(host=’127.0.0.1’, port=6379)
r = redis.Redis(connection_pool=pool)
r.set(‘foo’, ‘Bar’)
print r.get(‘foo’)