Redis 是一个开源的使用 ANSI C语言编写的支持网络、可基于内存也可持久化的日志型、Key-Value 数据库。

常用它来存储缓存数据,能非常轻松的实现缓存过期刷新机制。

多种语言都可以连接到 Redis 数据库服务器,本文将推荐一个非常简洁的 C# 连接 Redis 数据库的开源项目。

一般推荐

通常,C# 使用 Redis 会推荐使用添加 NuGet 包 StackExchange.Redis 的方式来使用。

使用时代码形式如下:

ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379,password=CeshiPassword");
IDatabase db = redis.GetDatabase();
string value = "name";
db.StringSet("mykey", value);
Console.WriteLine(db.StringGet("mykey"));

个人觉得,其使用方式不够直观。

如 ConnectionMultiplexer 这个名称不是可猜测的,甚至看到它也想不起它与 Redis 有什么关系。然后,从最简使用的角度,它还需要用户了解到里边 Database 的概念。

推荐一个简洁版本 csredis

项目地址:https://github.com/ctstone/csredis

其名称接地气,使用方便,形式如下。

using (var redis = new RedisClient("localhost"))
{
redis.Auth("password");
redis.Set("mykey", "name", 25); // 有效期25秒
Console.WriteLine(redis.Get("mykey"));
}

一个简单的辅助类

这里进行简单的封装,使得使用时只关心键与值,以及其有效时长,这样一样,普通的 token 缓存场景就可以满足了。

public class RedisHelper
{
private static RedisClient _RedisCli;
private static RedisClient RedisCli
{
get
{
if (_RedisCli == null)
{
_RedisCli = new RedisClient("192.168.0.100");
_RedisCli.Auth("redispassword");
}
return _RedisCli;
}
} /// <summary>
/// 取得缓存值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static string GetKey(string key)
{
return RedisCli.Get(key);
} /// <summary>
/// 保存值并设置有效期(second)
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="expireSeconds"></param>
public static void SetKey(String key, String value, int expireSeconds)
{
RedisCli.Set(key, value, expireSeconds);
}
}

C# 中使用 Redis 简单存储的更多相关文章

  1. 使用redis来存储session,不同框架对session的命名规则是不一样的

    今天做了一个测试,在同一个云服务器上,搭建了两个server,其中一个是用laravel框架写的,另外一个使用原生php开发的,为了提高访问的速度,使用云服务器中的redis来存储session数据, ...

  2. Java中Redis简单入门

    Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案. Redis官方网网站是:http://www.redis.io/,如下: Redis ...

  3. redis学习笔记(二)——java中jedis的简单使用

    redis怎么在java中使用,那就是要用到jedis了,jedis是redis的java版本的客户端实现,原本原本想上来就直接学spring整合redis的,但是一口吃个胖子,还是脚踏实地,从基础开 ...

  4. .NET中使用Redis (二)

    很久以前写了一篇文章 .NET中使用Redis 介绍了如何安装Redis服务端,以及如何在.NET中调用Redis读取数据.本文简单介绍如何设计NoSQL数据库,以及如何使用Redis来存储对象. 和 ...

  5. redis数据结构存储SDS设计细节(redis的设计与实现笔记)

    redis虽说是用C语言开发的,但是redis考虑了性能.安全性.效率性.功能等要,redis底层存储字符串实现,自己实现了名为简单动态字符串(Simple dynamic string)简称SDS的 ...

  6. 在java中使用redis

    在java中使用redis很简单,只需要添加jedist.jar,通过它的api就可以了.而且,api和redis的语法几乎完全相同.以下简单的测试: 参考:http://www.runoob.com ...

  7. 转:.NET中使用Redis (二)

    原文来自于:http://blog.jobbole.com/83824/ 原文出处: 寒江独钓   欢迎分享原创到伯乐头条 很久以前写了一篇文章 .NET中使用Redis 介绍了如何安装Redis服务 ...

  8. .NET中使用Redis(二)

    很久以前写了一篇文章 .NET中使用Redis 介绍了如何安装Redis服务端,以及如何在.NET中调用Redis读取数据.本文简单介绍如何设计NoSQL数据库,以及如何使用Redis来存储对象. 和 ...

  9. C#中使用REDIS

    C#中使用REDIS 上一篇>> 摘要 上一篇讲述了安装redis客户端和服务器端,也大体地介绍了一下redis.本篇着重讲解.NET4.0 和 .NET4.5中如何使用redis和C# ...

随机推荐

  1. IO测试工具 - 用于IO测试 ; linux benchmarks

    IO测试工具,用于磁盘IO测试,下面进行使用列表进行记录: iozone fio dd ioping iotop iostat bonnie++ crystalDisk Atto as-ssd-ben ...

  2. Life is not supposed to be easy 。

    对每个人而言,真正的职责只有一个: 找到自我.然后在心中坚守一生,全心全意,永不停息. 所有其他的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧. 对婚姻,对房子的 ...

  3. Jmeter自动化集成工具Ant的安装

    一.Ant介绍 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.由Apache软件基金会所提供.只要使用过Linux系统的读者 ...

  4. Dubbo学习系列之十(Sentinel之限流与降级)

    各位看官,先提个问题,如果让你设计一套秒杀系统,核心要点是啥???我认为有三点:缓存.限流和分离.想当年12306大面积崩溃,还有如今的微博整体宕机情况,感觉就是限流降级没做好,"用有限的资 ...

  5. Nlog配置

    初次使用nlog,里里外外找了好久,终于搞会了. 使用nlog建日志输出到txt文件.数据库.邮件 nlog配置,如图 码云dome

  6. 一个随机切换user_agent的第三方python库:my_fake_useragent

    因为my_fake_useragent 是第三方,所以需要自己进行安装. 不用担心,它没有任何依赖或者附加环境,只安装它自己就行. 方法1: pycharm传统安装方式. 方法2: pip insta ...

  7. springboot使用hibernate validator

    前言 在开发中经常需要写一些字段校验的代码,比如字段非空,字段长度限制,邮箱格式验证等等,写这些与业务逻辑关系不大的代码个人感觉有两个麻烦: 验证代码繁琐,重复劳动 方法内代码显得冗长 每次要看哪些参 ...

  8. 在cnetos7上搭建mysql主从服务

    本文主要是介绍在centos上搭建mysql的主从服务器.如果没有搭建过的,可以查看我以前的博客,里面有详细的安装centos和在centos上安装mysql的说明. 一.安装从虚拟机: 1.右键—& ...

  9. resource和autowired

    spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource.@PostConstruct以及@PreDestroy. @Resour ...

  10. python科学计算和数据分析常用库

    NumPy NumPy最强大的是n维数组,该库还包含基本的线性代数函数.傅立叶变换.随机函数和其他底层语言(如Fortran.C和C++)集成的工具. SciPy SciPy建立在NumPy基础上,它 ...