Redis(Remote Dictionary Server)是一个开源的高性能内存键值对KV(KEY-value)数据库,在去中心化,高可用性和高性能方面都具有出色的表现。本文主要介绍Redis如何通过key获取value的实现方式。
当用户调用GET命令时,Redis内部程序会将键作为参数,查找给定的键是否在内存Dataset中,可以使用以下代码:
// 查询数据库是否存在给定的键:
db->dictFind(db->dict, key);
如果给定的键存在,则Redis会返回与键相关联的值,该值可以是字符串、数字或者是嵌套对象:
// 返回键关联的值
sds val = key->value;
// 返回数字
long long num = key->value;
// 返回嵌套对象
robj *valobj = key->value;
如果在Dataset中没有找到给定的键,程序会继续查询离线数据库(即经过持久化处理的数据),以确定是否存在该键,如果存在,Redis将恢复该键和其关联的值,以及其他相关信息,之后将数据恢复到Dataset中,以供以后使用:
// 查询持久化离线存储中是否存在给定的键:
rdbLoad(key);
// 恢复键的关联值:
key->value=rdbLoad(val);
// 恢复相关信息:
updateExpireTime(key);
//
// 把数据恢复到Dataset中
db->dictAdd(db->dict, key, val);
Redis通过key获取value的实现过程包括查询Dataset中是否存在给定的key,如果存在则返回与key相关联的值,如果不存在则查询离线数据库,恢复相应数据,然后把数据恢复到Dataset中,以供以后使用。
香港云服务器机房,创新互联(www.cdcxhl.com)专业云服务器厂商,回大陆优化带宽,安全/稳定/低延迟.创新互联助力企业出海业务,提供一站式解决方案。香港服务器-免备案低延迟-双向CN2+BGP极速互访!
文章名称:通过Redis值获取健的实现方式(redis通过值获取健)
网站链接:http://www.shufengxianlan.com/qtweb/news1/360701.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联