Redis系列2- C#中使用Redis的示例

上一篇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

时间: 2024-10-18 20:30:27

Redis系列2- C#中使用Redis的示例的相关文章

Redis系列(三):Redis集群的水平扩展与伸缩

一.Redis集群的水平扩展 Redis3.0版本以后,有了集群的功能,提供了比之前版本的哨兵模式更高的性能与可用性,但是集群的水平扩展却比较麻烦,接下来介绍下Redis高可用集群如何做水平扩展,在原集群的6个节点的基础上新增2个节点,由原来的3主3从变成4主4从,原先的3主3从部署详见Redis系列(二):Redis高可用集群,如下图: 二.水平扩展具体操作 ① 将redis-5.0.2文件夹拷贝到新的主机192.168.160.154上去,(1)scp -r /usr/local/redis

Redis系列(一):Redis简介

一.Redis概述 Redis是一个开源(遵循BSD协议)Key-Value数据结构的内存存储系统,用作数据库.缓存和消息代理.它支持5种数据结构:字符串string.哈希hash.列表list.集合set和有序的集合zset.Redis支持Lua脚本,哨兵机制和集群实现高可用.适用场景:缓存.投票.抽奖.分布式session.排行榜.计数.队列.发布订阅等:具体介绍见Redis官网. 二.Redis安装 ① 下载地址:https://redis.io/download ②  安装gcc:yum

Windows下 &quot;redis安装&quot;和&quot;PHP中添加redis扩展&quot;

一. 安装redis及启用服务1. 下载redis包 链接:http://pan.baidu.com/s/1sjKfZOD 密码:oy5c 2 .解压以后,可以看到以下文件 3.双击运行服务端redis-server.exe,开启服务,如图: 4.双击运行客户端redis-cli.exe,可见服务端有连接提示: 5.然后,就可以使用了: =======================================PHP中添加redis扩展============================

Redis系列(五):Redis的RESP协议详解

一.什么是RESP Redis是Redis序列化协议,Redis客户端RESP协议与Redis服务器通信.Redis协议在以下几点之间做出了折衷: 简单的实现 快速地被计算机解析 简单得可以能被人工解析 二.RESP协议描述 RESP协议在Redis 1.2中引入,但在Redis 2.0中成为与Redis服务器通信的标准方式.这个通信方式就是Redis客户端实现的协议.RESP实际上是一个序列化协议,它支持以下数据类型:简单字符串.错误.整数.大容量字符串和数组. 1.RESP在Redis中用作

【redis】spring boot中 使用redis hash 操作

示例: @Autowired StringRedisTemplate redisTemplate; @Override public void dealRedis(Dealer dealer) { dealer = dao.findByUid(dealer.getUid()); String tid = dealer.getTenementId(); HashOperations<String, Object, Object> ofh = redisTemplate.opsForHash();

redis系列:分布式锁

redis系列:分布式锁 1 介绍 这篇博文讲介绍如何一步步构建一个基于Redis的分布式锁.会从最原始的版本开始,然后根据问题进行调整,最后完成一个较为合理的分布式锁. 本篇文章会将分布式锁的实现分为两部分,一个是单机环境,另一个是集群环境下的Redis锁实现.在介绍分布式锁的实现之前,先来了解下分布式锁的一些信息. 2 分布式锁 2.1 什么是分布式锁? 分布式锁是控制分布式系统或不同系统之间共同访问共享资源的一种锁实现,如果不同的系统或同一个系统的不同主机之间共享了某个资源时,往往需要互斥

CentOS7中安装redis以及一些基本配置

第一步:下载安装包 1.可以在linux终端上用wget下载: wget http://download.redis.io/releases/redis-5.0.7.tar.gz 2.也可以在window中下载好安装包然后通过远程文件管理工具拷贝到linux中的/usr/local/目录中 访问https://redis.io/download  到官网进行下载.这里以安装5.0.7版本为例(注意我这里是已经安装好了,所以会有redis-5.0.7这个目录:这里只是为了截图告诉下载的安装包的位置

跟我学系列教程——《13天让你学会Redis》火热报名中

学习目标 每天2小时,13天让你学会Redis. 本课程针对Redis新手,甚至连Redis是什么都没有听说过的同学.课程会详细介绍Redis是什么以及为什么要使用Redis,结合项目实践旨在让学生从零开始逐步晋升为一个Redis的优秀开发者. 适合人群 1. 在校学生:掌握多门存储技术,丰富毕业设计,贴近企业新技术 2. 在职开发:技术储备,提高晋升空间. 报名链接 点击报名 跟我学系列教程--<13天让你学会Redis>火热报名中

openresty开发系列26--openresty中使用redis模块

在一些高并发的场景中,我们常常会用到缓存技术,现在我们常用的分布式缓存redis是最知名的, 操作redis,我们需要引入redis模块 require "resty.redis": 我们现在做个可以操作redis进行赋值,读值的案例 一)连接redis服务器 ---定义 redis关闭连接的方法local function close_redis(red)      if not red then          return      end      local ok, err