python操作redis
Redis
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
1、安装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
这里注意对配置文件修改
打开注释,不然py客户端连不上
守护模式不开就no
指定配置文件进行启动
然后准备设置redis验证密码(不然py连接报错)
退出,重新登录redis
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'))
print(r.get('name'))
vim /opt/redis-4.0.10/redis.conf
把 bind 127.0.0.1 改成 0.0.0.0
daemonize no 改成 yes
xshell里启动服务端:
redis-server /opt/redis-4.0.10/redis.conf
在起端口:redis-cli -p 6380
输入密码:auth liangshuang12
ping
操作:set name 'liangshuang'
然后在pycharm里运行去name值
4、线程池操作redis
''' redis-py 使用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'))