常常会被别人问在哪些情景下应用来到redis ? 这一难题和业务流程是很有关的 , 摆脱业务流程要求的回应都不可以说动他人.
在我的业务流程里有一个递交使用的表格申请办理 , 这一申请办理以前是默认设置立即存进数据库查询的订单信息表和公司表 .
之后不清楚被哪个闲杂人等发觉了,就一直往里面递交垃圾数据 , 提升了短信验证码和手机上验证码短信 , 依然不可以阻拦住他递交的激情 .
pm一发火 , 说把它改为后台管理审批根据后再进库 , 而且审批按键要有及时性 , 请求超时的也不可以递交 , 要我一天内就处理掉 .
由于企业的数据库查询必须独立申请办理建表 , 也有设计方案表构造 , 还得等审批 , 時间赶不及 .细心一想 , redis不就是说个nosql种类的数据库查询吗 , 而且那条数据信息并不一定一直留着 , 敢想敢干 ,立即往redis里存 , 后台管理提升个审批网页页面 , 再去插进数据库查询.
redis的五种基本数据类型中 , 有一种十分适合 , 那便是hash , 储存一条相近数据库查询的纪录 .
设计方案下k-v , key就是说order:{唯一序号} , value是 每一键值对 field value , field1 value1 ...
总体设计进行后 , 业务流程编码相近那样:
$order=array();$order['name']="shihan";$order['admin']="shihan";$id=sha1(time().$_SERVER['SERVER_ADDR'].getmypid().mt_rand());$key="order:".$id;$redis->expire($key,86400);$redis->hMset($key,$order);
$key="order:".$id;$orderField=array("name","admin");$order=$redis->hMget($key,$orderField);
取下之后再进库就就行了 , 随后删除这一key.
这一保持就是说运用了nosql数据库查询的协调能力 , redis丰富多彩的基本数据类型 , 处理了业务流程难题.
Copyright © 2004-2024 Ynicp.com 版权所有 法律顾问:建纬(昆明)律师事务所 昆明市网翼通科技有限公司 滇ICP备08002592号-4