就用查省市为例,别人还没查就把所有都弄好,很浪费资源和时间,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 T getForRedis<T> (string redisKey, Fun<T> func,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,上述操作基本直接搞定,因为是写给新手的,大体来说是能完成的了,

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

Redis调用的流程(新手使用)的更多相关文章

  1. REdis命令处理流程处理分析

    分析版本:REdis-5.0.4. REdis命令处理流程可分解成三个独立的流程(不包括复制和持久化): 1) 接受连接请求流程: 2) 接收请求数据和处理请求流程,在这个过程并不会发送处理结果给Cl ...

  2. 客户调用COM流程

    参考:COM技术内幕 DllGetClassObjecthttps://msdn.microsoft.com/en-us/library/windows/desktop/ms680760.aspx   ...

  3. web3.js编译Solidity,发布,调用全部流程(手把手教程)

    web3.js编译Solidity,发布,调用全部流程(手把手教程) 下面教程是打算在尽量牵涉可能少的以太坊的相关工具,主要使用web3.js这个以太坊提供的工具包,来完成合约的编译,发布,合约方法调 ...

  4. Windows 服务器配置、运行、图文流程(新手必备!) - IIS建站配置一条龙

    Window 2008 服务器的配置教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar ...

  5. linux 【阿里云服务器】 配置 redis 的正确流程

    1.前言 我的域名备案前几天通过了,这篇随笔完整的记录 redis 的安装流程 与各种 问题 的 具体解决方案. 2.操作[跟着步骤来] (1)指令cd /usr/local 进入local文件夹里面 ...

  6. 一个简单的redis调用类

    能只能判断函数的调用规则,容错规则, 例如set函数 set($key, $value, $time = false) 根据time的真假来判断是否使用set,或者是setex函数 get函数 get ...

  7. yii2:redis调用

    参照手册,调用redis,报错,真坑: Yii::$app->redis 后改改用: Yii::getRedis();

  8. 使用redis调用lua脚本的方式对接口进行限流

    java端实现: //初始化一个redis可执行的lua DefaultRedisScript<List> defaultRedisScript = new DefaultRedisScr ...

  9. Redis调用

    Redis帮助类 using StackExchange.Redis; using System; using System.Collections.Generic; using System.Lin ...

随机推荐

  1. 连接Access数据遇到的问题总览!

    由于要访问一个厂商的access数据,所以要写一个对于access的demo,相对于mysql.sqlserver来说,连接access花费了不少精力,现在将遇到的问题分享出来,以后大家遇到类似问题时 ...

  2. Python_网页爬虫

    import sys import multiprocessing import re import os import urllib.request as lib def craw_links( u ...

  3. Cookie SQL注入

    转自http://blog.sina.com.cn/s/blog_6b347b2a0101379o.html cookie注入其原理也和平时的注入一样,只不过说我们是将提交的参数已cookie方式提交 ...

  4. subline常用快捷键

    一次创建5个class为main的div  :    div.main*5 +TAB 快速生成HTML结构: ! + TAB 使盒子内的文本水平垂直方向对齐: height:value; line-h ...

  5. 图解MySQL索引--B-Tree(B+Tree)

    看了很多关于索引的博客,讲的大同小异.但是始终没有让我明白关于索引的一些概念,如B-Tree索引,Hash索引,唯一索引....或许有很多人和我一样,没搞清楚概念就开始研究B-Tree,B+Tree等 ...

  6. bug排查小结

    mysql cpu利用率偏高,并且长时间居高不下. show processlist 发现有一个单表查询的sql语句出现的频率比较高, 这个单表查询中规中矩,where语句中条件都使用”=“连接,再加 ...

  7. Ambiguous mapping found

    If you have a single default method (without explicit path mapping), then all requests without a mor ...

  8. Java 并行与并发

    Java 并行与并发 注意两个词:并行(Concurrent) 并发(Parallel) 并行:是逻辑上同时发生,指在某一个时间内同时运行多个程序 并发:是物理上同时发生,指在某一个时间点同时运行多个 ...

  9. 跟我学ASP.NET MVC之二:第一个ASP.NET MVC程序

    摘要: 本篇文章带你一步一步创建一个简单的ASP.NET MVC程序.  创建新ASP.NET MVC工程 点击“OK”按钮后,打开下面的窗口: 这里选择“Empty”模板以及“MVC”选项.这次不创 ...

  10. python高级编程1

    1.如何在列表,字典,集合中根据条件筛选数据? 如: 过滤列表[3, 9, -1, 10, 20, -2...]中的负数 筛出字典{‘小明’:70, 'Jim':88,'Tom':98...}中值高于 ...