Redis调用的流程(新手使用)
就用查省市为例,别人还没查就把所有都弄好,很浪费资源和时间,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,上述操作基本直接搞定,因为是写给新手的,大体来说是能完成的了,
//但是我留了几个坑,如果有兴趣,看得出的就提出来吧,也是给新手的你的锻炼。