1.安装Redis

  我是在Windows上安装redis的,Redis官网我只看到linux版本的,得使用别人提供的windows版本

  菜鸟教程提供的redis下载地址:https://github.com/MSOpenTech/redis/releases

  新建一个文件夹D:\redis解压进去,并添加环境变量

  1.1cmd运行以下命令打开redis服务

redis-server.exe redis.windows.conf

  当然,想要安装成服务,可以这样操作

redis-server.exe --service-install redis.windows.conf #安装

redis-server --service-uninstall #卸载

  

    别忘了启动

  1.2再打开一个cmd,进行缓存操作

  连接服务

redis-cli.exe -h 127.0.0.1 -p 6379  #如果redis-server安装在服务器上,对应修改地址开放端口即可

  set

set city Shanghai

  get

get city

  到这了已经对redis有了最初步的了解

  常用命令:

获取所有key:keys *
插入队列:publish 队列名 value
获取队列的数据:lrange 队列名 0 -1 (从第0条开始,到-1表示最后一条)

2.使用c#连接redis

  新建一个控制台项目

  添加nuget包:ServiceStack.Redis(有很多包,自己看着下),我刚开始下载以下版本

  

  出现这四个dll就没错

  

  跑一下

    class Program
{
static RedisClient redisClient = new RedisClient("127.0.0.1", 6379);//redis服务IP和端口
static void Main(string[] args)
{
Console.WriteLine(redisClient.Get<string>("city"));
Console.ReadKey();
}
}

  后面发现,网上使用的最多的包是 StackExchange.Redis ,就换上这个了,展示一下这个包的操作

        static ConnectionMultiplexer redisClient = ConnectionMultiplexer.Connect("localhost");
static void Main(string[] args)
{
IDatabase db = redisClient.GetDatabase();
// Set
db.StringSet("city", "汕尾");
// Get
db.StringGet("city");
int age = (int)db.StringGet("age");
// 删除
db.KeyDelete("city"); // 监听消息队列messages
ISubscriber sub = redisClient.GetSubscriber();
sub.Subscribe("messages", (channel, message) =>
{
Console.WriteLine((string)message);
});
// 进队
for (int i = 1; i < 10; i++)
{
Thread.Sleep(1000);
sub.Publish("messages", "hello" + i);
}
Console.ReadLine();
}

  接下来我们写一下api返回的json缓存

using Newtonsoft.Json;

  接口例子:

        [HttpGet("{id}")]
public ResultModel<DataTable> Get(int id)
{
if (db.KeyExists($"user_id_{id}"))// 有缓存获取缓存
return JsonConvert.DeserializeObject<ResultModel<DataTable>>(db.StringGet($"user_id_{id}"));// 反序列化 string sql = $@"
SELECT * from tb_user s where s.ID=@id
";
var param = new List<DbParam>();
param.Add(new DbParam("id", id,DbType.Int32));
var dtRes = _dBHelper.Query(sql,param);
if (dtRes.Success == false)
return new ResultModel<DataTable>().SetError(dtRes.Msg);
db.StringSet($"user_id_{id}", JsonConvert.SerializeObject(dtRes).ToString()); // 序列化成字符串
return dtRes;
}

  

  

最新文章

  1. [原创]C 语言select函数
  2. UVA 12651 Triangles
  3. 【笨嘴拙舌WINDOWS】GDI(1)
  4. java 判断两个时间段是不是有交集
  5. 轻松配置java开发环境
  6. SVN—怎样安装SVNserver端软件
  7. SQL存储过程动态查询数据区间
  8. [LeetCode101]Symmetric Tree
  9. 原生js的各种方法
  10. Java代码块详解
  11. 关于 BigDecimal处理float、double数据
  12. vue-awesome-swiper 的使用
  13. tkinter中entry输入控件(四)
  14. 利用搜狐新闻语料库训练100维的word2vec——使用python中的gensim模块
  15. CSS Grid 布局
  16. 文件名简体转繁体bat
  17. Android开发教程 - 使用Data Binding(四)在Fragment中的使用
  18. 【angular5项目积累总结】侧栏菜单 navmenu
  19. 【Coursera】Fourth Week(1)
  20. 0SGU 128 snake (&amp;&amp; ZOJ 3521) 尺取,排序二叉树,线段树 难度:2

热门文章

  1. 更强大的远程开发,Remote Tunnels 正式发布预览版!
  2. JS传值与应用
  3. java中对象存在形式
  4. Clickhouse表引擎探究-ReplacingMergeTree
  5. CompletableFuture 使用总结
  6. Spring学习笔记 - 第三章 - AOP与Spring事务
  7. 学习.NET MAUI Blazor(五)、修改Window窗口标题
  8. 用云服务器搭建frp服务(超详细)
  9. 《深度探索C++对象模型》第六章 执行期语意学
  10. Kubernetes(k8s)密码管理:Secret