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安装

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

终端:make        #编译安装

  • 启动服务端
  • 安装目录下: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链接redis

  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.链接池

  不断的向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.html

转载于:https://www.cnblogs.com/xiangsikai/p/8309612.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python缓存机制是一种将计算结果存储起来以供后续使用的方法。它可以提高程序的性能,避免重复计算相同的结果。在Python,我们可以使用不同的方式来实现缓存数据。 一种常见的方法是使用字典或其他本地数据结构来构建缓存。我们可以将计算结果作为键,将对应的值存储在缓存。当需要获取某个计算结果时,首先检查缓存是否存在对应的键,如果存在则直接返回值,否则进行计算并将结果存储在缓存。这样可以避免重复计算,并提高程序的执行效率。 另一种方法是将缓存作为服务器,充当代理并为请求提供服务。这种方式可以通过网络访问远程服务器上的缓存数据,从而实现多个进程或多个机器之间的共享缓存。这对于大规模的分布式系统来说非常有用。 此外,Python还提供了一些内置的工具来实现缓存,例如使用functools库的cached_property装饰器。这个装饰器可以用于类的属性,它会将计算结果缓存起来,并在后续的访问直接返回缓存的值。这可以节省计算资源,并提高属性的访问速度。 总结起来,Python缓存机制是一种将计算结果存储起来以供后续使用的方法。我们可以使用字典或其他本地数据结构构建缓存,也可以将缓存作为服务器,充当代理并为请求提供服务。此外,Python还提供了一些内置的工具来实现缓存,例如cached_property装饰器。这些方法都可以提高程序的性能,并避免重复计算相同的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值