.Net中Redis的基本使用

news/2024/12/6 18:36:20/

前言

Redis可以用来存储、缓存和消息传递。它具有高性能、持久化、高可用性、扩展性和灵活性等特点,尤其适用于处理高并发业务和大量数据量的系统,它支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。

Redis的使用 

安装包ServiceStack.Redis

NuGet\Install-Package ServiceStack.Redis 

引入包

using ServiceStack.Redis;

创建实例对象

RedisClient()第一个参数为地址,第二个参数为端口号,第三个参数填0~15,默认不填为0。

7bd041582481482da28482dd161694b2.png

IRedisClient client=new RedisClient("127.0.0.1", 6379, 0);

FlushDb()

该方法为刪除当前Redis数据库中的所有值。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{client.FlushDb();
}

Set<>() 

需要一个类型,第一个参数为Key值,第二个参数为Value。

该方法向当前Redis数据库中新增一个值,新增的值做了序列号处理。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{client.Set<string>("name", "猪儿虫");
}

Add<>()

需要一个类型,第一个参数为Key值,第二个参数为Value。

该方法向当前Redis数据库中新增一个值,并且返回一个bool值,添加成功返回true,添加失败返回false。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{Console.WriteLine(client.Add<string>("name", "猪儿虫"));
}

GetValue() 

该方法根据key获取内容,获取的值带有双引号。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{var values = client.GetValue("name");Console.WriteLine(values);
}

Get<>()

该方法根据key值获取内容,获取的值不带双引号,内部做了反序列化操作。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{var values = client.Get<string>("name");Console.WriteLine(values);
}

SetAll()

该方法为批量向当前Redis数据库中新增数据,接收一个Dictionary类型数据。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{var SetDict = new Dictionary<string, string>();SetDict.Add("item", "001");SetDict.Add("name", "猪儿虫");client.SetAll(SetDict);
}

GetAll() 

该方法为批量向当前Redis数据库中读取数据,接收一个数组类型数据,返回一个Dictionary类型数据。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{var NewList = new string[] { "item", "name" };var RedisList = client.GetAll<string>(NewList);foreach(var v in RedisList){Console.WriteLine(v);Console.WriteLine(v.Value);}
}

设置数据过期时间

该方法为向当前Redis数据库中添加一个name名为猪儿虫的数据,且在当前Redis数据库中保存10秒,到期自动销毁,读取过期数据会返回空。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{client.Set<string>("name", "猪儿虫", TimeSpan.FromSeconds(10));
}

 TimeSpan.FromHours(1)一小时

TimeSpan.FromDays(1)一天

TimeSpan.FromMinutes(1)一分钟

设置数据特定过期时间 

该方法为向当前Redis数据库中添加一个name名为猪儿虫的数据,且在当前Redis数据库中保存到明天这个时间,到期自动销毁,读取过期数据会返回空。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{client.Set<string>("name", "猪儿虫", DateTime.Now.AddDays(1));
}

DateTime.Now.AddHours(1)当前时间一小时后

DateTime.Now.AddMinutes(1)当前时间一分钟后

DateTime.Now.AddSeconds(1)当前时间一秒后

AppendToValue()

该方法向当前Redis数据库中已经有的数据追加数据,注意,该追加的数据不进行序列化处理。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{client.AppendToValue("name", "大聪明");
}

GetAndSetValue()

对数据重新赋值 ,注意,该重新赋值的数据不进行序列化处理。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{client.GetAndSetValue("name", "小青龙");
}

 


http://www.ppmy.cn/news/1230662.html

相关文章

高斯积分-Gaussian Quadrature

https://mathworld.wolfram.com/GaussianQuadrature.html

[计算机网络]网络层概述

呼,写了这么久终于重新开始啦! 自己落下了太多东西了.....是时候应该重新拾掇起来了. 关于后面的代码项目,我的想法是vilas.js仍然使用js来进行编写,但是后续其他的项目会开始尝试使用ts来进行书写了. 就算是前端也需要点规范吧..... 0.写在前面 这篇文章要和大家道个歉,首…

gzip 压缩优化大 XML 响应的处理方法

当处理大型XML响应时&#xff0c;我们经常会面临内存限制和性能问题。 在处理这个问题时&#xff0c;我们可以使用Python的requests库和lxml库来解决。下面是解决方案的步骤&#xff1a; 1. 使用requests库发送HTTP请求获取XML响应。 2. 检查响应的Content-Encoding标头&…

机器人制作开源方案 | 钻孔植树一体化沙漠车

作者&#xff1a;徐邦国、张博宇、刘露、李晶晶、吕洁秀单位&#xff1a;天津职业技术师范大学 机械工程学院指导老师&#xff1a;何永利 摘要&#xff1a;本项目旨在设计一种专用于沙漠植树的植树车&#xff0c;以沙漠自动化植树为研究对象&#xff0c;提出一种创新式钻…

海外服务器相较于国内服务器有何特点?亚马逊海外服务器为何零跑全球

随着数字时代的迅猛发展&#xff0c;云计算基础设施的重要性愈发凸显。在这个信息爆炸的全球化时代&#xff0c;很多企业的海外业务的成功往往取决于是否拥有安全、可靠、高性能、可扩展、灵活且全球覆盖的云基础设施&#xff0c;因此对很多企业来说&#xff0c;选择一款优质的…

.NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔 !背景介绍 突然闯到路径搜索算法里…

什么是调试和性能分析工具?

调试和性能分析工具是软件开发过程中的关键工具&#xff0c;它们用于诊断、修复错误&#xff08;bug&#xff09;以及优化程序性能。这两类工具在不同阶段发挥关键作用&#xff1a; 调试工具&#xff1a; 定义&#xff1a; 调试是指在程序开发过程中&#xff0c;通过运行程序…

buildadmin+tp8表格操作(5)自定义组装搜索的查询

有时候我们会自定义组装一些数据&#xff0c;发送给后端&#xff0c;让后端来进行筛选&#xff0c;这里有一个示例 const onComSearchIdEq () > {// 展开公共搜索baTable.table.showComSearch true/*** 公共搜索表单赋值* 范围搜索有两个输入框&#xff0c;输入框绑定变量…