摘要:
需求: 1.RESTFul API与API版本控制 2.中间件与jwt实现统一鉴权 3.Controller模型绑定与参数认证 4.protobuf消息传输 项目结构: 对鉴权逻辑这部分,要考虑到,哪些资源需要涉及到鉴权,哪些不需要涉及。比如说,对于用户登录,用户注册,这两块就不需要去鉴权,因为鉴权 阅读全文
摘要:
首先给出本次教程需要用到的数据表的内容:products + + + + + + | prod_id | vend_id | prod_name | prod_price | prod_desc | + + + + + + | ANV01 | 1001 | .5 ton anvil | 5.99 | 阅读全文
摘要:
在阅读博客文章时,你可以看到一篇文章被阅读的次数,如果使用mysql, 那么在设计article表时,就必须设置一个view_count字段来记录这篇文章被阅读的次数。 但这种方式相比于使用redis,并不是一种好的办法,原因在于,每次更新view_count字段的值都是一个比较费力的过程。 首先, 阅读全文
摘要:
简述布隆过滤器的实现思路: 假设有一个长度为n的比特数组,bit_array,数组里的每一位都是0,对于一个url或者是其他数据,使用hash算法计算出url的散列值,这个散列值当然是一个整数,暂且命名为index,index=index%n,确保index的值小于n,查看bit_array[ind 阅读全文
摘要:
有序集合也是集合,不同之处在于,集合里的元素可以附带这个分数,元素不能重复,但是分数可以重复,不仅如此,还可以根据分数进行排序。 很多游戏都有玩家得分的排行榜,这个排行榜随时处于变动中。 游戏有很多玩家,可以设计一张表,记录每一个玩家的分数,并根据玩家新一局的分数来更新这张表,当需要获取排行榜前10 阅读全文
摘要:
缓存可以有效的提高关键数据的获取速度,使得不必要每次查询数据库,避免了数据库被击穿。 主动更新: 需要知道这份数据的实效时间点,然后在那个时间点到来时重新更新数据,可能是查询数据库,也可能是访问第三接口,在获得数据之后,更新redis缓存。 被动更新: 程序每次都去redis获取数据,但对这份数据设 阅读全文
摘要:
如何使用pipeline: from redis.client import Redis conn = Redis(host="0.0.0.0",port=6379,db=0,password="") with conn.pipeline() as p: for i in range(100): p 阅读全文
摘要:
首先,通过pip来安装操作redis的相关包,pip install redis 然后导入我们要使用的模块,form redis.Client import Redis 然后,通过docker启动redis, from redis.client import Redis r = Redis(host 阅读全文