.Net使用Redis数据库

介绍:redis数据库中的所有数据都存储在内存中。由于内存的读写速度远快于硬盘,因此Redis的的的在性能上对比其他基于硬盘存储的数据库有非常明显的优势。在Redis数据库中实际上存的是Key-Value键值对。
一、Redis数据库的创建,下面链接是64位
首先下载Redis的安装包,链接: https://pan.baidu.com/s/15gzTEqJdZuzduVWIQgOQpg 提取码: ek69 复制这段内容后打开百度网盘手机App,操作更方便哦
将Redis安装在良好的环境中,利用cmd命令窗口将目录切换到你的安装路径
在这里插入图片描述回车后输入命令redis-server.exe redis.windows.conf或者简写redis-server
出现以下图案说明你已经将redis数据库成功装在电脑上并开启了服务。
在这里插入图片描述二、简单的熟悉redis数据库的结构
上面也说过redis数据库存放的是键值对,就是一个键对应一个值。
另外开启一个cmd窗口,原来的不能关闭,不然无法访问服务端。
切换到redis目录下运行:
redis-cli.exe -h 127.0.0.1 -p6379
设置键值对:
set myKey abcde
取出键值对:
get myKey
在这里插入图片描述三、.net中使用redis数据库
其实redis数据库在.net中的使用非常简单。上面的链接下载中有一个封装类,直接调用其中的方法即可完成辅助取值的的方法了。可以当做缓存使用,效率特别高(记得引用dll文件,链接中都有)。添加
///
/// Redis 操作类
///
public class RedisHelper
{
///
/// 连接字符串
///
private static readonly string ConnectionString = ConfigurationManager.ConnectionStrings[“RedisConnectionString”].ConnectionString;
///
/// 锁
///
private readonly object _lock = new object();
///
/// 连接对象
///
private volatile IConnectionMultiplexer _connection;
///
/// 数据库
///
private IDatabase _db;
public RedisHelper()
{
_connection = ConnectionMultiplexer.Connect(ConnectionString);
_db = GetDatabase();
}
///
/// 获取连接
///
///
protected IConnectionMultiplexer GetConnection()
{
if (_connection != null && _connection.IsConnected)
{
return _connection;
}
lock (_lock)
{
if (_connection != null && _connection.IsConnected)
{
return _connection;
}
if (_connection != null)
{
_connection.Dispose();
}
_connection = ConnectionMultiplexer.Connect(ConnectionString);
}
return _connection;
}
///
/// 获取数据库
///
///
///
public IDatabase GetDatabase(int? db = null)
{
return GetConnection().GetDatabase(db ?? -1);
}
///
/// 设置
///
/// 键
/// 值
/// 时间
public virtual void Set(string key, object data, int cacheTime)
{
if (data == null)
{
return;
}
var entryBytes = Serialize(data);
var expiresIn = TimeSpan.FromMinutes(cacheTime);
_db.StringSet(key, entryBytes, expiresIn);
}
///
/// 根据键获取值
///
///
///
///
public virtual T Get(string key)
{
var rValue = _db.StringGet(key);
if (!rValue.HasValue)
{
return default(T);
}
var result = Deserialize(rValue);
return result;
}
///
/// 反序列化
///
///
///
///
protected virtual T Deserialize(byte[] serializedObject)
{
if (serializedObject == null)
{
return default(T);
}
var json = Encoding.UTF8.GetString(serializedObject);
return JsonConvert.DeserializeObject(json);
}
///
/// 判断是否已经设置
///
///
///
public virtual bool IsSet(string key)
{
return _db.KeyExists(key);
}
///
/// 序列化
///
///
/// byte[]
private byte[] Serialize(object data)
{
var json = JsonConvert.SerializeObject(data);
return Encoding.UTF8.GetBytes(json);
}
}
建一个控制台应用程序,更改App.config的配置
在这里插入图片描述
在这里插入图片描述运行程序,记得打开redis服务。
在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值