redis的概念:
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。
redis安装
官网下载redis安装包redis-3.2.11.tar.gz
解压下载安装包cd /usr/local/src/redis-3.2.11然后执行make PREFIX=/usr/local/redis install
redis启动
cd /usr/local/redis
./bin/redis-server conf/redis.conf
通过进程和端口检查redis是否正常
ps aux |grep redis
netstat -lnp |grep redis
redis简单操作
redis是以key-value的形式存储的,所以我们在操作的时候。首先我们将redis所在主机的ip和发布端口作为参数实例化了一个对象r,然后执行set('cnblogs','http://www:cnblogs.com'),通过keys()就是获得多有key值。
例:
import redis redis_config = { "host" : "192.168.88.100", "port":6379 } r = redis.Redis(**redis_config) # r = redis.Redis(host="192.168.88.100",port=6379) r.set("cnblogs","http://www:cnblogs.com") print(r.keys()) print(r.get("cnblogs"))
运行结果:
['cnblogs'] http://www:cnblogs.com
连接池使用
redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一个连接池
import redis redis_config = { "host" : "192.168.88.100", "port":6379 } pool = redis.ConnectionPool(**redis_config) r = redis.Redis(connection_pool=pool) r.set("cnblogs","http://www:cnblogs.com") print(r.keys()) print(r.get("cnblogs"))
运行结果:
['cnblogs'] http://www:cnblogs.com
redis管道
Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。