怎么在Python中使用Redis
Redis是一个开源的键值存储系统,可用于在应用程序中存储和访问数据。
下面是使用Python中的Redis的基本步骤:
Home of Little Jelly
Redis是一个开源的键值存储系统,可用于在应用程序中存储和访问数据。
下面是使用Python中的Redis的基本步骤:
在Kubernetes上部署Redis集群,需要用到PersistentVolume,持久卷类型我选用NFS,当然用local-storage也是可以的,不过在自动化上没有NFS方便。
整个过程步骤较多。
NFS配置
首先Kubernetes主节点来部署并充当NFS服务器。
ThinkPHP5的缓存和session默认使用文件存储。
即`application/config.php`中`cache`的`type`是`File`,而`session`的`type`是空。
可以改用Redis作为缓存和session的存储,效率更高。在分布式的环境中,使用Redis来存储,可以保证数据的一致性和会话的一致性。
Python中使用Celery队列。
Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成。
消息中间件:Celery本身不提供消息服务,但是可以方便的和第三方提供的消息中间件集成。包括,RabbitMQ, Redis, MongoDB, Amazon SQS,CouchDB, SQLAlchemy ,Django ORM, IronMQ。推荐使用RabbitMQ、Redis作为消息队列。
Web服务器水平扩充步骤。
文中的实例即是服务器。
EasySwoole开发测试心得。
1. MySQL类可在Swoole原生的`Swoole\Coroutine\MySQL`上扩展,速度快且使用方便。EasySwoole提供的MySQL操作类不好用且有点慢。
近段时间在做架构设计,个人认为架构设计应至少遵从以下三点:
1. 方便开发维护
2. 方便扩展
3. 方便迁移
EasySwoole是常驻内存型应用,控制器、MySQL连接可能都只初始化一次,所以可能会存在一些问题。
1. 用户信息错乱(可能性极小)
2. 数据库查询错乱(可能性也不太)
3. 数据库、Redis连接数过多
4. 内存溢出
PHP Swoole框架之EasySwoole。
安装
PHP Swoole扩展使用过程中有些事项需要注意下。
以下是本人在实战过程中踩过的坑。