Python 操作Redis
2016-03-25 14:27
721 查看
redis对比monoDB:
redis和memcache 是key value非关系型数据库,mysql是关系型数据库,表的结构和保存的内容有严格的要求,关系型数据库无法保存临时数据或不标准的数据,redis支持的数据类型相比memcache要多,memcache只支持hash(哈希类型)。
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性(一组操作要么都完成要不不操作)的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是先缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步、cluster(集群)。
下载安装:
[root@localhost redis]# grep -v "#" redis.conf | grep -v "^$" #简单配置如下:
redis script
启动服务:
确认服务器启动成功:
安装python 客户端:
API使用
redis-py 的API的使用可以分类为:
连接方式
连接池
操作
String 操作
Hash 操作
List 操作
Set 操作
Sort Set 操作
管道
发布订阅
1、操作模式
redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。
b'Bar'
redis和memcache 是key value非关系型数据库,mysql是关系型数据库,表的结构和保存的内容有严格的要求,关系型数据库无法保存临时数据或不标准的数据,redis支持的数据类型相比memcache要多,memcache只支持hash(哈希类型)。
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性(一组操作要么都完成要不不操作)的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是先缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步、cluster(集群)。
下载安装:
[root@localhost ~]# wget http://download.redis.io/releases/redis-3.0.7.tar.gz [root@localhost ~]# tar xvf redis-3.0.7.tar.gz [root@localhost ~]# mv redis-3.0.7 /usr/local/redis [root@localhost ~]# make [root@localhost redis]# vim redis.conf #更改配置:
[root@localhost redis]# grep -v "#" redis.conf | grep -v "^$" #简单配置如下:
#!/bin/sh # # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. # chkconfig: - 30 69 # description: Redis start script REDISPORT=6379 EXEC=/usr/local/redis/src/redis-server CLIEXEC=/usr/local/redis/src/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/etc/redis.conf" case "$1" in start) if [ -f $PIDFILE ] then echo "$PIDFILE exists, process is already running or crashed" else echo "Starting Redis server..." $EXEC $CONF fi ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist, process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." $CLIEXEC -p $REDISPORT shutdown while [ -x /proc/${PID} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi ;; *) echo "Please use start or stop as first argument" ;; esac
redis script
启动服务:
[root@localhost redis]# /etc/init.d/redis start
确认服务器启动成功:
[root@localhost redis]# ps -ef | grep redis root 40500 1 0 16:07 ? 00:00:00 /usr/local/redis/src/redis-server *:6379 root 40663 37362 0 16:21 pts/1 00:00:00 grep redis [root@localhost redis]# ss -tnlp | grep redis LISTEN 0 128 *:6379 *:* users:(("redis-server",40500,5)) LISTEN 0 128 :::6379 :::* users:(("redis-server",40500,4))
安装python 客户端:
pip install redis
API使用
redis-py 的API的使用可以分类为:
连接方式
连接池
操作
String 操作
Hash 操作
List 操作
Set 操作
Sort Set 操作
管道
发布订阅
1、操作模式
redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。
#/usr/bin/env python # -*- coding:utf-8 -*- import redis r = redis.Redis(host='10.16.59.103', port=6379) r.set('foo', 'Bar') print(r.get('foo')) 执行结果:
b'Bar'
相关文章推荐
- jedisPool.getResource()方法长时间无响应并且不报错
- Redis持久化————AOF与RDB模式
- redis源码阅读
- 分布式Session共享(一):tomcat+redis实现session共享
- Linux下指定配置文件启动redis方式
- Redis 常用命令操作举例
- python开发学习-day10(select/poll/epoll回顾、redis、rabbitmq-pika)
- Linux下安装redis
- 使用redis服务器实现队列(欢迎留言讨论)
- 关于redis集群方案
- redis.clients.jedis.exceptions.JedisConnectionException: no reachable node in cluster
- redis事务、管道及消息通知探究
- redis 笔记
- redis 消息订阅和发布
- Redis基本命令
- redis中的事务
- redis hash结构及命令详解
- Redis for Windows
- 利用tomcat redis 实现session共享
- 2.2-Redis主从配置