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
项目地址: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 简单存储的更多相关文章
- 使用redis来存储session,不同框架对session的命名规则是不一样的
今天做了一个测试,在同一个云服务器上,搭建了两个server,其中一个是用laravel框架写的,另外一个使用原生php开发的,为了提高访问的速度,使用云服务器中的redis来存储session数据, ...
- Java中Redis简单入门
Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案. Redis官方网网站是:http://www.redis.io/,如下: Redis ...
- redis学习笔记(二)——java中jedis的简单使用
redis怎么在java中使用,那就是要用到jedis了,jedis是redis的java版本的客户端实现,原本原本想上来就直接学spring整合redis的,但是一口吃个胖子,还是脚踏实地,从基础开 ...
- .NET中使用Redis (二)
很久以前写了一篇文章 .NET中使用Redis 介绍了如何安装Redis服务端,以及如何在.NET中调用Redis读取数据.本文简单介绍如何设计NoSQL数据库,以及如何使用Redis来存储对象. 和 ...
- redis数据结构存储SDS设计细节(redis的设计与实现笔记)
redis虽说是用C语言开发的,但是redis考虑了性能.安全性.效率性.功能等要,redis底层存储字符串实现,自己实现了名为简单动态字符串(Simple dynamic string)简称SDS的 ...
- 在java中使用redis
在java中使用redis很简单,只需要添加jedist.jar,通过它的api就可以了.而且,api和redis的语法几乎完全相同.以下简单的测试: 参考:http://www.runoob.com ...
- 转:.NET中使用Redis (二)
原文来自于:http://blog.jobbole.com/83824/ 原文出处: 寒江独钓 欢迎分享原创到伯乐头条 很久以前写了一篇文章 .NET中使用Redis 介绍了如何安装Redis服务 ...
- .NET中使用Redis(二)
很久以前写了一篇文章 .NET中使用Redis 介绍了如何安装Redis服务端,以及如何在.NET中调用Redis读取数据.本文简单介绍如何设计NoSQL数据库,以及如何使用Redis来存储对象. 和 ...
- C#中使用REDIS
C#中使用REDIS 上一篇>> 摘要 上一篇讲述了安装redis客户端和服务器端,也大体地介绍了一下redis.本篇着重讲解.NET4.0 和 .NET4.5中如何使用redis和C# ...
随机推荐
- 区块链技术驱动金融.mobi
链接:https://pan.baidu.com/s/1yY8f_PglsPoudb76nru9Ig 提取码:c58o 想一起学习区块链的朋友可以加好友一个学习哦,共同进步
- 如何使用 RxJS 更优雅地进行定时请求
在用 Angular 做项目的时候,遇到了一个有点麻烦的问题.具体问题如下: 轮循请求某个接口,如何保证接口返回的数据与请求的顺序相同? 实际的业务场景是这样的:前端需要轮循请求后端接口获取文件处理进 ...
- VS2019 开发Django(二)------hello world!
导航:VS2019开发Django系列 第一篇介绍了安装Django,那么,今天的主题内容是使用VS编写第一个Django应用. 1)新建Django Web项目 选择新建Django Web项目,在 ...
- Java 包(package)的概念及实例
包的作用 1.把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用. 2.如同文件夹一样,包也采用了树形目录的存储方式.同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调 ...
- Linux Redis 安装(带视频)
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...
- oracle中创建用户、角色、权限、表空间简单使用
一.数据库用户 创建数据库用户 create user 用户名 identified by 密码; 授权 grant 权限名 to 用户名; 查看当前用户权限 select * from sessio ...
- QT Creator: The process could not be started!
如果往工程里面增加了uac.manifest 文件后,QT creator不通过管理员启动的话,若要debug程序的话,就会提示 “The process could not be started!” ...
- C#的语法----程序结构(2)
接下来我们继续学习程序流程控制的语法! switch-case 用来处理多条件的定值的判断. 语法: switch(变量或者表达式的值) { case value1:要执行的代码1: break; c ...
- 推荐系统| ② 离线推荐&基于隐语义模型的协同过滤推荐
一.离线推荐服务 离线推荐服务是综合用户所有的历史数据,利用设定的离线统计算法和离线推荐算法周期性的进行结果统计与保存,计算的结果在一定时间周期内是固定不变的,变更的频率取决于算法调度的频率. 离线推 ...
- (绿色)修正版gooflow流程解决方案(源码分享+在线演示+UI地址下载)
gooflow出现挖矿机木马,请勿随意去其他网站下载!!! 一.功能简介 gooflow功能清单1.自定义流程绘制2.自定义属性添加3.支持3种步骤类型普通审批步骤自动决策步骤手动决策步骤 4.决策方 ...