欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Redis调用的流程(新手使用)

程序员文章站 2022-03-20 10:34:20
就用查省市为例,别人还没查就把所有都弄好,很浪费资源和时间,redis是为了存储常用的查询操作的[结果],以此来减少直接查询数据库的次数,以下内容仅供参考,请勿照抄。(如有说得不好之处,请指点。) 言归正传,第一个方法也就是查省市的入口,这个方法可以依照各自的需要写成自己需要的方法如:(provin ......

就用查省市为例,别人还没查就把所有都弄好,很浪费资源和时间,redis是为了存储常用的查询操作的[结果],以此来减少直接查询数据库的次数,以下内容仅供参考,请勿照抄。(如有说得不好之处,请指点。)

言归正传,
第一个方法也就是查省市的入口,这个方法可以依照各自的需要写成自己需要的方法
如:(provinceid=guangdong) 

public list<city> getcity(string provinceid){
//正常来说这里是访问数据库得到数据返回,redis就是为了减少这种,查询结果基本固定,查询次数又频繁的数据

//所以这里我封装了一个方法

return  getforredis <list<city>>( provinceid,()=>{

//查询数据库操作,具体操作因人而异我用xxx表示

list<city> citys = new list<city>();

citys = xxxxx;

return citys;

 

},“timeouts”  )

//timeouts 这个为时间间隔字典的key,可以自己弄一个字典,也可以这里直接填充时间,自己做相应的修改即可
}

public getforredis (string rediskey, fun<t>(),string timesout){

if (rch.containskey(rediskey))//检查redis的key是否为空,不为空直接调用
{
return rch.get<t>(rediskey);//获取redis
}
else
{//如果redis的key为空了,执行委托出去的操作得到结果,写入数据库。
t value = func();
rch.add<t>(rediskey, value, timesout);
return value;
}

}

//这就完成了,redis的基本使用,只要引用基本的servicestack.redis.dll,上述操作基本直接搞定,因为是写给新手的,大体来说是能完成的了,

//但是我留了几个坑,如果有兴趣,看得出的就提出来吧,也是给新手的你的锻炼。