使用redis存储股股票数据及近一个月的行情数据

使用redis存储股票数据及近一个月的行情数据

性能瓶颈

股票行情对数据的实时性是有要求的,在数据同步时如果都从数据库中查询数据,对于股票行情数据来说是有些慢了,因此我们使用redis来存储常用数据:股票数据及近一个月的行情数据

redis的使用

https://www.runoob.com/redis/redis-install.html
参考菜鸟教程就可以完成在windows(开发环境)及linux(生产环境)的安装和使用。

odoo连接redis

在这里插入图片描述

from redis import Redis

class ResConfigSettings(models.TransientModel):

    redis_host = fields.Char(string="Redis Host", default="127.0.0.1")
    redis_port = fields.Integer(string="Redis Port", default=6379)
    redis_db = fields.Integer(string="Redis DB", default=10)
    redis_password = fields.Char(string="Redis Password", default="123456")
    redis_username = fields.Char(string="Redis Username", default='redis')

    def get_redis_conn(self):
        """
        获取redis连接
        """
        config_id = self.env['res.config.settings'].sudo().search([], limit=1, order='id desc')
        if (not config_id.redis_host or not config_id.redis_port or not config_id.redis_password
                or not config_id.redis_db):
            return None
        redis = Redis(host=config_id.redis_host, port=config_id.redis_port, password=config_id.redis_password,
                      db=config_id.redis_db)
        return redis

股票数据的读写

写股票数据。

    def btn_update_equity_stock_redis(self):
        """
        测试redis
        """
        redis_conn = self.env['res.config.settings'].get_redis_conn()
        stock_ids = self.env['equity.stock'].search([])
        for stock_id in stock_ids:
            stock_vals = {
                'id': stock_id.id,
                'market_id': stock_id.market_id,
            }
            redis_conn.set(stock_id.code, json.dumps(stock_vals))

读股票数据

redis_conn = self.env['res.config.settings'].get_redis_conn()
stock_vals = redis_conn.get(stock_data['code'])

结论

当需要平凡查询数据库或者数据库的记录非常多时,使用redis可以带来比较好的性能体验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值