StackExchange.Redis(缓存)
一:stringstring将数据存入缓存1.存单条数据入缓存class Program{static void Main(string[] args){var keyName = "stringTest";var configInfo = "name,13598871354";var aa = SaveRedis(keyName, configInfo);
·
使用缓存前先安装nuget包: StackExchange.Redis (我用的是这个,可以根据自己需要选择缓存框架)
注意:1.Redis 的5种类型中缓存key不可以重复,value值可以重复的只有list,其他类型的value值不可以重复
2.Redis的5种类型中除了string不是集合之外,其他都是集合类型
一:string 字符串
添加单个value缓存
public class ProgramString
{
private ConnectionMultiplexer _con;
public ProgramString()
{
_con = ConnectionMultiplexer.Connect("redis的账号,redis的密码");//此处写redis的账号和密码
}
static void Main(string[] args)
{
ProgramString pgStr = new ProgramString();
IDatabase db = pgStr._con.GetDatabase(3);//GetDatabase()括号中如果不填写数字就默认是0
var str = db.StringSet("stringKey","stringValue0603");//string类型存入缓存
string get = db.StringGet("stringKey");//得到缓存
//var del = db.KeyDelete("stringKey");//删除缓存key的缓存
//Console.WriteLine("{0}", get);
//Console.ReadLine();
}
}
格式
添加多个value缓存
public class ProgramStringList
{
private ConnectionMultiplexer _con;
public ProgramStringList()
{
_con = ConnectionMultiplexer.Connect("redis的账号,redis的密码");//此处写redis的账号和密码
}
static void Main(string[] args)
{
ProgramStringList programStringList = new ProgramStringList();
IDatabase database = programStringList._con.GetDatabase(3);
var values = new List<string> { "stringList111111", "stringList2222222" };
database.StringSet(new KeyValuePair<RedisKey, RedisValue>[] { new KeyValuePair<RedisKey, RedisValue>("stringListKey", JsonConvert.SerializeObject(values)) });//写入缓存
//database.KeyDelete("stringListKey");//删除缓存
}
}
格式
二:hash 哈希
添加单个hash键值缓存
public class ProgramHash
{
private ConnectionMultiplexer _con;
public ProgramHash()
{
_con = ConnectionMultiplexer.Connect("redis的账号,redis的密码");
}
static void Main(string[] args)
{
ProgramHash programHash = new ProgramHash();
IDatabase database = programHash._con.GetDatabase(3);
var set = database.HashSet("hashKey", "hashKey06", "hashKey0610");//写入缓存
var get = database.HashGet("hashKey", "hashKey06");//得到缓存
//var del = database.HashDelete("hashKey", "hashKey0610");//删除(缓存key和键对应的缓存数据)
//var del = database.KeyDelete("hashKey");//删除缓存key对应的缓存数据
}
}
格式
添加多个hash键值缓存
public class ProgramHashList
{
private ConnectionMultiplexer _con;
public ProgramHashList()
{
_con = ConnectionMultiplexer.Connect("redis的账号,redis的密码");//此处写redis的账号和密码
}
static void Main(string[] args)
{
ProgramHashList programHashList = new ProgramHashList();
IDatabase database = programHashList._con.GetDatabase(3);
var hashList = new List<string> { "hashList11", "hashList22" };
List<Info> list = new List<Info>();
foreach (var hash in hashList)
{
var aa = new Info()
{
Value = hash
};
list.Add(aa);
}
//一条数据
HashEntry[] Listbb = list.Select(i => new HashEntry(i.Value, JsonConvert.SerializeObject(i))).ToArray();
database.HashSet("hashList", Listbb);
//foreach (var bb in Listbb)
//{
// database.HashDelete("hashList", bb.Name);//删除缓存key下的缓存
//}
}
public class Info
{
public string Value { get; set; }
}
}
格式
三:set 集合
添加单个value缓存
public class ProgramSet
{
private ConnectionMultiplexer _con;
public ProgramSet()
{
_con = ConnectionMultiplexer.Connect("redis的账号,redis的密码");//此处写redis的账号和密码
}
static void Main(string[] args)
{
ProgramSet programSet = new ProgramSet();
IDatabase db = programSet._con.GetDatabase(3); //GetDatabase()括号中如果不填写数字就默认是0
var set = db.SetAdd("setKey", "setVslue0611");//set类型存入缓存
var get = db.SetContains("setKey", "setVslue0611");//key 和 value值在缓存中存在就可以查出true
//var del = db.KeyDelete("setKey");//删除key对应的缓存数据
//var del = db.SetRemove("setKey", "setVslue0610");//删除(key和value对应的缓存数据)
Console.WriteLine("{0}", get);
Console.ReadLine();
}
}
格式
添加多个value缓存
public class ProgramSetList
{
private ConnectionMultiplexer _con;
public ProgramSetList()
{
_con = ConnectionMultiplexer.Connect("redis的账号,redis的密码");//此处写redis的账号和密码
}
static void Main()
{
ProgramSetList programSetList = new ProgramSetList();
IDatabase database = programSetList._con.GetDatabase(3);
var values = new List<string> { "setList11", "setList22" };
var setList = database.SetAdd("setList", values.Select(i => new StackExchange.Redis.RedisValue(i)).ToArray());
//var del = database.SetRemove("setList", "setList22");//删除(key和value对应的缓存数据)
//var del = database.KeyDelete("setList");//删除key对应的缓存数据
}
}
格式
四:sorted set 有序集合
public class ProgramSortSet
{
private ConnectionMultiplexer _con;
public ProgramSortSet()
{
_con = ConnectionMultiplexer.Connect("redis的账号,redis的密码");
}
static void Main(string[] args)
{
ProgramSortSet programSortSet = new ProgramSortSet();
IDatabase database = programSortSet._con.GetDatabase(3);
var set = database.SortedSetAdd("sortSetKey", "sortSetValue0604", 1);//添加
//var get = database.SortedSetRemove("sortSetKey", "sortSetValue0604");//删除
}
}
格式
五:list 列表
简介:
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边),可以使用list的push操作将任务存到List,
然后使用pop操作将任务取出执行,在列表头部或者末尾操作数据非常高效,不受队列长度的影响。
public class ProgramList
{
private ConnectionMultiplexer _con;
public ProgramList()
{
_con = ConnectionMultiplexer.Connect("redis的账号,redis的密码");//此处写redis的账号和密码
}
static void Main(string[] args)
{
ProgramList programHashList = new ProgramList();
IDatabase database = programHashList._con.GetDatabase(3);
var values = new List<string> { "List133", "List244" };
foreach (var value in values)
{
database.ListLeftPush("list", value);//底部插入
//database.ListLeftPop("list");//从顶部删除
}
}
}
格式
更多推荐
已为社区贡献3条内容
所有评论(0)