Redis数据类型String

时间:2023-03-09 20:08:27
Redis数据类型String

set和get

Redis数据类型String

Set带空格的字符串值,这时候就需要使用双引号了,否则会出错

Redis数据类型String

getset

getset设置某个key-value,然后把设置之前的值返回来

Redis数据类型String

incr,incrby 和 decr,decrby

如果值是数值的话,那么可以使用incr,表示自增。
incr key就会对该key对应的value进行自增:
默认的增量是1。

Redis数据类型String

也可以指定增量,使用incrby这个命令。
格式是incrby key 增量值

Redis数据类型String

相应的自减就是decr和decrby

Redis数据类型String

mset 和 mget

mset一次设置多个key-value,mget就是一次获取多个key的value

Redis数据类型String

exists

exists判断key对应的值是否存在,格式为exists key
返回1表示true,0表示false

Redis数据类型String

del

del可以删除Key,删除的key不存在返回0

Redis数据类型String

type

Redis数据类型String

expire,ex,ttl

expire设置key的有效期,格式为expire key 时长(秒)

Redis数据类型String

使用ex的话,可以在设置key的时候直接设置有效期,格式为set key value ex 时长(秒)

Redis数据类型String

而ttl命令可以查看key还能存活多久

ttl返回-2表示该key不存在。
ttl返回-1表示key存在,但是没有设置expire。
ttl返回非负数表示剩余的存活时长(秒)。

Redis数据类型String

在.NET Core 项目中操练String

set,get,getset

namespace ConsoleTest
{
class Program
{
static void Main(string[] args)
{
ConnectionMultiplexer connectionMultiplexer = ConnectionMultiplexer.Connect("120.132.116.153:6379");
IDatabase database = connectionMultiplexer.GetDatabase();
database.StringSet("name", "wolf");
Console.WriteLine($"{database.StringGet("name")}");
Console.WriteLine($"{database.StringGetSet("name","wolf2")}");
Console.WriteLine($"{database.StringGet("name")}");
Console.ReadLine();
}
}
}

Redis数据类型String

incr,incrby,decr,decrby

    class Program
{
static void Main(string[] args)
{
ConnectionMultiplexer connectionMultiplexer = ConnectionMultiplexer.Connect("120.132.116.153:6379");
IDatabase database = connectionMultiplexer.GetDatabase();
database.StringSet("num", );
Console.WriteLine($"{database.StringGet("num")}");
Console.WriteLine($"{database.StringIncrement("num")}");
Console.WriteLine($"{database.StringIncrement("num",10)}");
Console.WriteLine($"{database.StringDecrement("num")}");
Console.WriteLine($"{database.StringDecrement("num", 5)}");
Console.ReadLine();
}
}

Redis数据类型String

mset,mget

    class Program
{
static void Main(string[] args)
{
ConnectionMultiplexer connectionMultiplexer = ConnectionMultiplexer.Connect("120.132.116.153:6379");
IDatabase database = connectionMultiplexer.GetDatabase();
database.StringSet(new KeyValuePair<RedisKey, RedisValue>[]
{
new KeyValuePair<RedisKey, RedisValue>("n1","b1"),
new KeyValuePair<RedisKey, RedisValue>("n2","b2"),
new KeyValuePair<RedisKey, RedisValue>("n3","b3"),
});
var values = database.StringGet(new RedisKey[] {"n1", "n2", "n3"});
foreach (var item in values)
{
Console.WriteLine($"{item}");
}
Console.ReadLine();
}
}

Redis数据类型String

exists,del

    class Program
{
static void Main(string[] args)
{
ConnectionMultiplexer connectionMultiplexer = ConnectionMultiplexer.Connect("120.132.116.153:6379");
IDatabase database = connectionMultiplexer.GetDatabase();
database.StringSet("name", "wolf");
Console.WriteLine($"{database.KeyExists("name")}");
Console.WriteLine($"{database.KeyDelete("name")}");
Console.WriteLine($"{database.KeyDelete("name123")}");
Console.WriteLine($"{database.KeyExists("name")}");
Console.ReadLine();
}
}

Redis数据类型String

ex,expire,ttl

    class Program
{
static void Main(string[] args)
{
ConnectionMultiplexer connectionMultiplexer = ConnectionMultiplexer.Connect("120.132.116.153:6379");
IDatabase database = connectionMultiplexer.GetDatabase(); database.StringSet("name", "wolf", TimeSpan.FromSeconds());
Console.WriteLine($"{database.StringGet("name")}");
Thread.Sleep( * );
Console.WriteLine($"after {database.StringGet("name")}"); database.StringSet("name", "wolf2");
database.KeyExpire("name", TimeSpan.FromSeconds());
Console.WriteLine($"{database.StringGet("name")}");
Thread.Sleep( * );
Console.WriteLine($"after {database.StringGet("name")}"); database.StringSet("name", "wolf", TimeSpan.FromSeconds());
Thread.Sleep();
Console.WriteLine($"TTl:{database.KeyIdleTime("name")}");
Console.ReadLine();
}
}

Redis数据类型String