redis数据库的简单用法


这篇文章主要讲解了“redis数据库的简单用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“redis数据库的简单用法”吧!using Newtonsoft.Json;
using StackExchange.Redis;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp
{
///

/// Redis 操作类
///

public class RedisHelper
{
///

/// 连接字符串
///

private static readonly string ConnectionString = ConfigurationManager.AppSettings[“RedisConnectionString”]; ///

/// 锁
///

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 _connection.GetDatabase(db ?? -1);
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(serializedObjec 香港云主机t);
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);
}
}
}

感谢各位的阅读,以上就是“redis数据库的简单用法”的内容了,经过本文的学习后,相信大家对redis数据库的简单用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: 电脑开机自动打开我的文档怎么办

这篇文章主要为大家展示了“电脑开机自动打开我的文档怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“电脑开机自动打开我的文档怎么办”这篇文章吧。1.登录到系统桌面,使用组合快捷键win键+r键打开运行窗口,在打开…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/02 18:01
下一篇 08/02 18:01

相关推荐