Python 缓存服务

缓存服务:mongodb、redis、memcache
  • mongodb:早期的缓存系统,直接持久话,数据即存内存也同步到硬盘。
  • redis:主流缓存系统,半持久化,默认存在内存,须要手动调用存在硬盘,可经过需求配置。
  • memcache:轻量级缓存服务,只能存在内存,不能持久化。

 

Redis介绍
  Redis是单线程经过异步epoll实现高并发。最高读写速度(每秒/读8W数据)。
  Redis 默认有16个db 至关与16张表避免有相同的key冲突。
  redis是业界主流的key-value nosql 数据库之一。和Memcached相似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操做,并且这些操做都是原子性的。在此基础上,redis支持各类不一样方式的排序。与memcached同样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操做写入追加的记录文件,而且在此基础上实现了master-slave(主从)同步。
 
Redis优势
  • 异常快速 : Redis是很是快的,每秒能够执行大约110000设置操做,81000个/每秒的读取操做。
  • 支持丰富的数据类型 : Redis支持最大多数开发人员已经知道如列表,集合,可排序集合,哈希等数据类型。
  • 这使得在应用中很容易解决的各类问题,由于咱们知道哪些问题处理使用哪一种数据类型更好解决。
  • 操做都是原子的 : 全部 Redis 的操做都是原子,从而确保当两个客户同时访问 Redis 服务器获得的是更新后的值(最新值)。
  • MultiUtility工具:Redis是一个多功能实用工具,能够在不少如:缓存,消息传递队列中使用(Redis原生支持发布/订阅),在应用程序中,如:Web应用程序会话,网站页面点击数等任何短暂的数据;

 

Linux Redis安装html

终端:tar -xvf 包名      #解压
终端:cd redis-3.0.6   #进入目录

终端:make        #编译安装python

  • 启动服务端
  • 安装目录下:src/redis-server
  • 启动客户端
  • 安装目录下:src/redis-cli

 

Python安装redis
3.0内涉及到socket统一都是bays类型
 
安装redis模块
sudo pip install redis
or
sudo easy_install redis
or

 

操做模式

  1.python连接redisredis

  redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。
import redis
# 建立实例对象,获取服务端IP地址 r = redis.Redis(host='192.168.1.150', port=6379) # 加入keys 与 value r.set('foo', 'Bar') # 打印foo value print(r.get('foo'))

  

  2.连接池sql

  不断的向redis内取数据,不断的连接创建socket资源消耗很大,可使用链接池来。
  redis-py使用connection pool来管理对一个redis server的全部链接,避免每次创建、释放链接的开销。默认,每一个Redis实例都会维护一个本身的链接池。能够直接创建一个链接池,而后做为参数Redis,这样就能够实现多个Redis实例共享一个链接池。
import redis
# 建立链接池实例对象,获取服务端IP地址 pool = redis.ConnectionPool(host='192.168.1.150', port=6379) # 连接链接池 r = redis.Redis(connection_pool=pool)
# 加入keys与value r.set('foo', 'Bar')

# 打印value值 print(r.get('foo'))

 

memcache学习:http://www.cnblogs.com/wupeiqi/articles/5132791.htmlmongodb

相关文章
相关标签/搜索