Redis学习笔记~Redis在.net中的应用

简介:

首先redis在.net环境中需要引用几个DLL,它们分别是

image

我们以控制台程序为例来简单看一下最普通的redis的用法

注释写的很详细,大家可以看一下:

       static RedisClient Redis = new RedisClient("127.0.0.1", 6379);//redis服务IP和端口
       static void Main(string[] args)
       {

           //将字符串列表添加到redis

           List<string> storeMembers = new List<string>() { "one", "two", "three" };
           storeMembers.ForEach(x => Redis.AddItemToList("additemtolist", x));

           //得到指定的key所对应的value集合

           var members = Redis.GetAllItemsFromList("additemtolist");
           members.ForEach(s => Console.WriteLine("<br/>additemtolist :" + s));

           // 获取指定索引位置数据
           var item = Redis.GetItemFromList("addarrangetolist", 2);
           Console.WriteLine(item);

           //移除数据

           var list = Redis.Lists["addarrangetolist"];
           list.Clear();//清空
           list.Remove("two");//移除指定键值
           //  list.RemoveAt(2);//移除指定索引位置数据

           //存储对象(JSON序列化方法)它比object序列化方法效率高
           Redis.Set<UserInfo>("userinfo", new UserInfo() { UserName = "李四", Age = 45 });
           UserInfo userinfo = Redis.Get<UserInfo>("userinfo");
           Console.WriteLine("name=" + userinfo.UserName + "age=" + userinfo.Age);

           //存储值类型数据
           Redis.Set<int>("my_age", 12);//或Redis.Set("my_age", 12);
           int age = Redis.Get<int>("my_age");
           Console.WriteLine("age=" + age);

           //object序列化方式存储
           var ser = new ObjectSerializer();    //位于namespace ServiceStack.Redis.Support;
           bool result = Redis.Set<byte[]>("userinfo2", ser.Serialize(new UserInfo() { UserName = "张三", Age = 12 }));
           UserInfo userinfo2 = ser.Deserialize(Redis.Get<byte[]>("userinfo2")) as UserInfo;
           Console.WriteLine("name=" + userinfo2.UserName + "age=" + userinfo2.Age);

           //也支持列表
           List<UserInfo> userinfoList = new List<UserInfo> {
            new UserInfo{UserName="zzl",Age=1,Id=1},
            new UserInfo{UserName="zhz",Age=3,Id=2},
            };
           Redis.Set<byte[]>("userinfolist_serialize", ser.Serialize(userinfoList));
           List<UserInfo> userList = ser.Deserialize(Redis.Get<byte[]>("userinfolist_serialize")) as List<UserInfo>;
           userList.ForEach(i =>
           {
               Console.WriteLine("name=" + i.UserName + "age=" + i.Age);
           });

}

这是最原始的redis操作,下一节我将对redis操作进行封装,使它具有更大的扩展性。

本文转自博客园张占岭(仓储大叔)的博客,原文链接:Redis学习笔记~Redis在.net中的应用,如需转载请自行联系原博主。

目录
相关文章
|
5月前
|
消息中间件 缓存 NoSQL
Redis各类数据结构详细介绍及其在Go语言Gin框架下实践应用
这只是利用Go语言和Gin框架与Redis交互最基础部分展示;根据具体业务需求可能需要更复杂查询、事务处理或订阅发布功能实现更多高级特性应用场景。
355 86
|
11月前
|
canal NoSQL 关系型数据库
Redis应用—7.大Value处理方案
本文介绍了一种用于监控Redis大key的方案设计及其实现步骤。主要内容包括:方案设计、安装与配置环境、binlog数据消费者。
440 29
Redis应用—7.大Value处理方案
|
4月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
622 6
|
5月前
|
存储 缓存 监控
Redis分区的核心原理与应用实践
Redis分区通过将数据分散存储于多个节点,提升系统处理高并发与大规模数据的能力。本文详解分区原理、策略及应用实践,涵盖哈希、范围、一致性哈希等分片方式,分析其适用场景与性能优势,并探讨电商秒杀、物联网等典型用例,为构建高性能、可扩展的Redis集群提供参考。
300 0
|
7月前
|
NoSQL Java Redis
Redis基本数据类型及Spring Data Redis应用
Redis 是开源高性能键值对数据库,支持 String、Hash、List、Set、Sorted Set 等数据结构,适用于缓存、消息队列、排行榜等场景。具备高性能、原子操作及丰富功能,是分布式系统核心组件。
656 2
|
11月前
|
缓存 NoSQL Java
Redis应用—6.热key探测设计与实践
热key问题在高并发系统中可能导致数据层和服务层的严重瓶颈,如Redis集群瘫痪和用户体验下降。为解决此问题,京东开发了JdHotkey热key探测框架,具备实时性、准确性、集群一致性和高性能等特点。该框架由etcd集群、Client端jar包、Worker端集群和Dashboard控制台组成,通过分布式计算快速识别热key并推送至应用内存,有效减轻数据层负载,提升服务性能。JdHotkey适用于多种场景,安装部署简便,支持毫秒级热key探测和集群一致性维护。
558 61
Redis应用—6.热key探测设计与实践
|
8月前
|
NoSQL 网络协议 Java
【Azure Redis】Redis服务端的故障转移(Failover)导致客户端应用出现15分钟超时问题的模拟及解决
在使用 Azure Cache for Redis 服务时,因服务端维护可能触发故障转移。Linux 环境下使用 Lettuce SDK 会遇到超时 15 分钟的已知问题。本文介绍如何通过重启 Primary 节点主动复现故障转移,并提供多种解决方案,包括调整 TCP 设置、升级 Lettuce 版本、配置 TCP_USER_TIMEOUT 及使用其他 SDK(如 Jedis)来规避此问题。
290 1
|
NoSQL 安全 测试技术
Redis游戏积分排行榜项目中通义灵码的应用实战
Redis游戏积分排行榜项目中通义灵码的应用实战
326 4
|
11月前
|
缓存 NoSQL Java
Redis应用—8.相关的缓存框架
本文介绍了Ehcache和Guava Cache两个缓存框架及其使用方法,以及如何自定义缓存。主要内容包括:Ehcache缓存框架、Guava Cache缓存框架、自定义缓存。总结:Ehcache适合用作本地缓存或与Redis结合使用,Guava Cache则提供了更灵活的缓存管理和更高的并发性能。自定义缓存可以根据具体需求选择不同的数据结构和引用类型来实现特定的缓存策略。
712 16
Redis应用—8.相关的缓存框架
|
11月前
|
缓存 NoSQL Java
Redis应用—9.简单应用汇总
本文主要介绍了Redis的一些简单应用。
429 26