美文网首页
redis根据value查询key--双向缓存

redis根据value查询key--双向缓存

作者: 领带衬有黄金 | 来源:发表于2019-12-24 17:59 被阅读0次

1. 需求:

页面显示时,需要使用汉字显示,但是在进行点击后,需要用到编码搜索。

2. 说明:

image.png

3. 核心代码:

            for j in aggs[i]['buckets']:
                if j['key']:
                    code_val = db_code_read_from_cache(j['key'])
                    if code_val:
                        # 缓存中读到数据
                        tmp_ret.setdefault('val', []).append({'key': code_val, 'val': j['doc_count']})
                    else:
                        # 缓存中没有数据,从数据库中获取数据,并且存入缓存,时限一天过期
                        code_val = NewDbs.objects.filter(code=j['key']).first().name_cn
                        # 以code为键
                        db_code_write_to_cache(j['key'], code_val)
                        # 以中文为键
                        db_name_write_to_cache(code_val, j['key'])
                        tmp_ret.setdefault('val', []).append({'key': code_val, 'val': j['doc_count']})

utils.py

from django.core.cache import cache

# 存储数据库缓存
from cykj.settings import DB_TIME_OUT


def db_code_read_from_cache(code):
    key = 'db_code_' + code
    val = cache.get(key)
    if val:
        return val
    else:
        return None


def db_code_write_to_cache(code, val):
    key = 'db_code_' + code
    cache.set(key, val, DB_TIME_OUT)


def db_name_read_from_cache(name):
    key = 'db_name_' + name
    val = cache.get(key)
    if val:
        return val
    else:
        return None


def db_name_write_to_cache(name, val):
    key = 'db_name_' + name
    cache.set(key, val, DB_TIME_OUT)

相关文章

  • redis根据value查询key--双向缓存

    1. 需求: 页面显示时,需要使用汉字显示,但是在进行点击后,需要用到编码搜索。 2. 说明: 3. 核心代码:

  • 【Redis】redis缓存的实现

    redis缓存的原理 1.查询数据时,首先根据接口名称和请求参数查询redis缓存,查到了对应数据的话,直接返回结...

  • 缓存相关

    1.缓存穿透 一般缓存是key-value结构,查询是使用key查询value,缓存中查不到,则需要去db中取值;...

  • redis操作手册

    什么是redis? 1、Redis 缓存是基于 key - value 存储的内存缓存;2、提供list、set、...

  • 【转】Redis中Hash实现条件查询

    TAG Redis,Lua,Redis条件查询,Redis Hash条件查询,Redis根据值内容查询 原文链接 ...

  • redis基础

    redis value数据类型 redis 是key-value 类型的内存缓存 key的数据类型是Stringv...

  • NoSQL-Redis缓存技术-运维篇

    NoSQL 产品(key-value) Redis功能介绍 企业缓存产品介绍 Redis使用场景介绍 Redis安...

  • Redis

    NoSQL 产品(key-value) Redis教程—菜鸟教程 Redis功能介绍 image 企业缓存产品介绍...

  • redis的简介和安装

    简介 Redis 与其他 key - value 缓存产品有以下三个特点: Redis 优势 Redis与其他ke...

  • Redis缓存应用基础

    Redis缓存应用基础 1、Redis简介 Redis是一个key-value存储系统。和Memcached类似,...

网友评论

      本文标题:redis根据value查询key--双向缓存

      本文链接:https://www.haomeiwen.com/subject/lgpfoctx.html