如何在Redis通过StackExchange.Redis 存储集合类型List
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Redis通过StackExchange.Redis 存储集合类型List相关的知识,希望对你有一定的参考价值。
解决方案
如果你仅仅为了缓存存一批量的 List<Customer> 数据, 那么自己封装一个ListGet() 和 ListSet()方法吧。
我对比过使用 List 和 String 两种类型存储。
Redis 的List类型和 .NET领域还有所不同,实际上,它是一个双向队列,可以左右插入值。
所以如果是批量数据插入 那么必须一个个插入, 代码比较简单如下:
//封装的ListSet
.....
//下面的database 是redis的数据库对象.
foreach (var single in value)
var s = ConvertJson(single); //序列化
database.ListRightPush(key, s); //要一个个的插入
//封装的ListGet
public void ListGet<T>(string key)
...
//ListRange返回的是一组字符串对象
//需要逐个反序列化成实体
var vList = database.ListRange(key) ;
List<T> result = new List<T>();
foreach (var item in vList)
var model = ConvertObj<T>(item); //反序列化
result.Add(model);
return result;
当然测试了一下性能,取20W条数据平均时间
Redis如何通过本机客户端访问远程服务器段
1、Redis默认端口号为127.0.0.1,端口号默认为:6379。
2、假如本机访问远程IP为132.1.114.44的计算机,则首先要在已经安装了Redis的远程计算机上打开其服务器,redis.server.exe
3、接下来在本机运行redis.cli.exe,也可以通过命令行实现:输入-h 远程计算机IP -p 6379即可连接:
4、接下来如果想用自己写的客户端什么的连接远程Redis数据库也只需要输入远程计算机的IP就可以了。
这次的解决办法:
开始->程序->Microsoft SQL Server 2005->SQL Server 2005外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database Engine,单击"服务"在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动。本回答被提问者和网友采纳
以上是关于如何在Redis通过StackExchange.Redis 存储集合类型List的主要内容,如果未能解决你的问题,请参考以下文章