C# 中使用 Redis 简单存储
程序员文章站
2022-08-29 19:07:57
Redis 是一个开源的使用 ANSI C语言编写的支持网络、可基于内存也可持久化的日志型、Key Value 数据库。 常用它来存储缓存数据,能非常轻松的实现缓存过期刷新机制。 多种语言都可以连接到 Redis 数据库服务器,本文将推荐一个非常简洁的 C 连接 Redis 数据库的开源项目。 一般 ......
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
项目地址:
其名称接地气,使用方便,形式如下。
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); } }
上一篇: 你要做言而无信的人吗
下一篇: [PHP]实用函数10