上一篇Redis的系列已经讲了Redis的下载、安装,接下来这一篇,主要讲使用Redis提供的 ServiceStack.Redis 这个开发库在C#项目中作为缓存服务使用的一个简单示例,废话不多话,直接上代码。

        private void TestRedis(){var Redis = new RedisClient("localhost"); //创建Redis实例(主机名根据项目的实际情况设置,可以使用配置文件的形式配置)var records = new List<TestInfo>();/*****操作泛型数据*******/if (Redis.Exists("TestInfos") <= 0) //判断某个缓存是否存在{//添加泛型集合数据Redis.Set("TestInfos", new List<TestInfo>(){new TestInfo() { id = 1, name = "11" },new TestInfo() { id = 2, name = "22" },new TestInfo() { id = 3, name = "33" },new TestInfo() { id = 4, name = "44" }});Redis.Expire("TestInfos", 60); //设置为一分钟过期}records = Redis.Get<List<TestInfo>>("TestInfos"); //获取Redis的缓存数据//Redis.Remove("TestInfos"); //删除一个缓存//records = Redis.Get<List<TestInfo>>("TestInfos"); //删除后尝试重新获取,结果为null(Redis中获取不存在的引用类型时返回null)/*****操作泛型数据*******//*****链表操作*******/var testRedisList = Redis.As<TestInfo>();IRedisList<TestInfo> testData = testRedisList.Lists["testData"]; //指定一个链表Redis.Expire("testData", 60);  //设置为一分钟过期testData.AddRange(records); //添加数据testRedisList.Save(); //保存链表数据var testDataList = Redis.As<TestInfo>().Lists["testData"].ToList(); //获取链表数据/*****链表操作*******//*****操作int类型数据*******/if (Redis.Exists("TestInt") <= 0) {Redis.Set("TestInt", 11); //保存一个int类型的缓步数据}var recordStr = Redis.Get<int>("TestInt"); //获取数据Redis.Remove("TestInt"); //删除一个缓存var redisIntVal = Redis.Get<int>("TestInt"); //删除后尝试重新获取,结果为0(Redis中获取不存在的值类型时返回默认值)/*****操作int类型数据*******/}

  

 

转载于:https://www.cnblogs.com/justinwujian/p/8461231.html

Redis系列2- C#中使用Redis的示例相关推荐

  1. 吃透Redis系列(九):Redis代理twemproxy和predixy详细介绍

    Redis系列文章: 吃透Redis系列(一):Linux下Redis安装 吃透Redis系列(二):Redis六大数据类型详细用法 吃透Redis系列(三):Redis管道,发布/订阅,事物,过期时 ...

  2. Redis系列之key操作命令与Redis中的事务详解(六)

    From: http://www.cnblogs.com/knowledgesea/p/5008594.html 序言 本篇主要目的有二: 1.展示所有数据类型中key的所有操作命令,以供大家学习,查 ...

  3. python redis 消息队列_python中利用redis构建任务队列(queue)

    Python中的使用标准queue模块就可以建立多进程使用的队列,但是使用redis和redis-queue(rq)模块使这一操作更加简单. Part 1. 比如首先我们使用队列来简单的储存数据:我们 ...

  4. Redis系列(二):Redis缓存穿透和缓存雪崩是什么?

    一.Redis穿透 缓存穿透现象:用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询.发现也没有,于是本次查询失败.当用户很多的时候,缓存都没有命中,于是都 ...

  5. Redis面试 - 生产环境中的 redis 是怎么部署的?

    面试题 生产环境中的 redis 是怎么部署的? 面试官心理分析 看看你了解不了解你们公司的 redis 生产集群的部署架构,如果你不了解,那么确实你就很失职了,你的 redis 是主从架构?集群架构 ...

  6. redis安装包_Linux中安装Redis

    第一步:下载安装包 把下载好的redis安装包放到/opt目录下(我相信你们可以做到) 第二步:解压安装包 cd /opt tar -zxvf redis-5.0.3.tar.gz (这里压缩包的版本 ...

  7. redis 支持 json_Spring Boot 中集成 Redis

    阅读本文约需要5分钟 大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了 Spring Boot 中的拦截器,今天跟大家分享下 ...

  8. php redis配置,在PHP中配置Redis | Soo Smart!

    Redis下载和安装,可以参考官网https://redis.io/download $ wget http://download.redis.io/releases/redis-4.0.8.tar. ...

  9. 【Redis系列】面试官:Redis中的数据已经过期,为什么还占用这内存?

    如果有面试官问Redis中的数据已经过期为什么还占用这内存? 它是因为Redis本身的过期策略和缓存淘汰机制所导致的. 说说Redis的过期策略和缓存淘汰机制 先来说说Redis的过期策略,Redis ...

  10. python使用redis做缓存_Python中的Redis客户端缓存(二)

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 处理失效 无效消息如何发送到被追踪的客户端取决于客户端正在使用的Redis序列化协议(RESP).早期版本 ...

最新文章

  1. ios 状态栏 覆盖自定义View
  2. Struts2中使用Session的两种方法
  3. 2.安装 CLI和CLI的工作原理
  4. Python数据库访问公共组件及模拟Http请求
  5. 实现verilog设计控制交通灯
  6. COE、SOE、EOE、FOE是什么?
  7. 【分享】Lucene.Net的中文分词组件AdvancedChineseAnalyzer
  8. 百度360搜狗神马今日头条抖音获客方法解析|昔年优化推广
  9. linux下c语言动态库生成方法
  10. 微信小程序引入ColorUI
  11. 上班摸鱼的模拟经营文字游戏(管理后台页面,老板都看不出来)
  12. 王者荣耀AI绝悟完全体对战开启:英雄随便选,论文已被NeurIPS收录
  13. 互联网支付系统整体架构
  14. 想创业 就别输不起 --leo看赢在中国第三季 7
  15. 前端学习从入门到高级全程记录之45 (ajax---1)
  16. 《大明设计师刘伯温》读后感
  17. openwrt网络管理工具网络管理工具:net-tools VS iproute2
  18. 中国二氧化碳回收行业市场现状分析及投资可行性研究报告2022-2028年
  19. python 匹配整数或者小数(包括正数和负数)(简单易懂,代码可以直接运行)
  20. Pytorch详解NLLLoss和CrossEntropyLoss

热门文章

  1. Linux下创建硬链接,文件访问为空,提示:xxxx: 符号连接的层数过多
  2. Python 标准库之 shutil
  3. HTTP 协议入门 — (TCP/IP协议族、通信传输流、URI 与 URL 的区别、Cookie 状态管理、HTTP 支持的方法、状态码类别、HTTP 首部字段)
  4. 斯坦福CS224n、CMU NLP公开课 播放地址
  5. TensorRT优化方案图例
  6. TVM,Relay,Pass
  7. 如何在框架外部自定义C++ OP
  8. 为什么您应该使用基于标准的开发实践
  9. GitHub上YOLOv5开源代码的训练数据定义
  10. 客快物流大数据项目(四十六):Spark操作Kudu dataFrame操作kudu