zoukankan      html  css  js  c++  java
  • 记一次Redis hash的使用过程

       楼主先介绍下使用场景:主要是电视端发起鉴权的,后台通过redis hash判断用户是否订购某个产品,而且这个产品还在有效期内,由于用户量达到了百万级别,如果所有请求都去访问数据库,数据库的压力可想而知。而且这里有个点要注意下:目前发现90%的用户是没有订购行为的,但是也会发起鉴权,如果单纯的键值存在就查询数据库,键值不存在就访问数据,大部分请求还是请求了数据库,数据库的压力还是在的。所以后来,想了个方案,利用hash,结构是userId作为key,product为filed,有效期作为一个以逗号分隔的字符串(20201201235959,20221201235959)的值这种,如果用户存在订购,咱就userId作为key,product为filed,有效期作为一个以逗号分隔的字符串(20201201235959,20221201235959),不存在,咱就userId作为key,product为filed,但是有效期就设置为(20001201235959),系统2000年不存在订购关系的,下次电视端发起了鉴权请求,那就不会查询数据库了,直接读取缓存,返回鉴权通过或者不通过,如果用户刚开始没有订购,后来又订购了,redis中应该存在,userId作为key,product为filed,有效期作为一个以逗号分隔的字符串(20001201235959,20221201235959)这种,只需要读取缓存去遍历下,有一个通过鉴权就通过了。

    总结:redis的五种数据结构,虽然都比较熟,最常用的是key-value结构,这是第一次使用hash结构,理论学的再多,只有实践起来才能真正的领悟出来

    知人者智,自知者明,胜人者有力,自胜者强。
  • 相关阅读:
    理解字节序(转)
    《逆向分析实战》数据的存储及表示形式
    C语言——内存分配
    C语言编程基础学习字符型数据的ASCII码值为何是负数?
    你知道嵌入式C语言中各变量存储的位置吗?
    stm32入门(从51过渡到32)
    说说M451例程讲解之LED
    说说M451的例程库的说明
    STM32总线结构和存储器
    STM32学习之路入门篇之指令集及cortex——m3的存储系统
  • 原文地址:https://www.cnblogs.com/nanfengxiangbei/p/14250629.html
Copyright © 2011-2022 走看看