Getting Start

https://github.com/MSOpenTech/redis/releases下载Windows平台下的Redis,解压下载的压缩包,启动Redis

1
2
cd C:\redis #解压路径
redis-server redis.windows.conf

运行同一目录下的redis-cli.exe,得到

1
127.0.0.1:6379>

启动成功。

Redis Strings

  • set和get命令用于设置和检索字符串值(value);
  • 在键(key)已经存在的情况下,set命令会替换当前与其关联的值(value);
  • 值(value)最大为512MB
1
2
3
4
127.0.0.1:6379> set name voler
OK
127.0.0.1:6379> get name
"voler"
1
2
3
4
5
6
7
8
127.0.0.1:6379> set name voler nx
(nil)
#--nx,如果键(key)已经存在,不替换当前与其关联的值(value)
127.0.0.1:6379> set name voler xx
OK
#--xx,如果键(key)已经存在,替换当前与其关联的值(value)
127.0.0.1:6379> set counter 289
OK
  • 与incr,incrby类似的命令decr,decrby;
  • read-increment-set操作执行时,没有其他命令被执行,操作具有原子性
1
2
3
4
127.0.0.1:6379> incr counter
(integer) 290
127.0.0.1:6379> incrby counter 50
(integer) 340
  • getset命令返回counter的旧值,并设置为其新值
1
2
3
4
127.0.0.1:6379> getset counter 0
"340"
127.0.0.1:6379> get counter
"0"
1
2
3
4
5
6
127.0.0.1:6379> mset a 10 b 20 c 30
OK
127.0.0.1:6379> mget a b c
1) "10"
2) "20"
3) "30"
  • exists命令返回键(key)是否存在数据库中,1(是)、0(否);
  • del命令返回是否成功删除键(key),1(键存在且被删除)、0(键不存在)
1
2
3
4
5
6
7
8
127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> exists name
(integer) 0
127.0.0.1:6379> del name
(integer) 0
  • type命令返回当前与其关联的值(的)数据类型
1
2
3
4
5
6
7
8
9
10
127.0.0.1:6379> set name voler
(integer) 1
127.0.0.1:6379> type name
string
127.0.0.1:6379> del name
(integer) 0
127.0.0.1:6379> type name
none
127.0.0.1:6379> get name
(nil)
  • 通过expire命令可以设置键(key)的死亡时间,以秒为单位;
  • 与毫秒对应的命令为pexpire、pttl;
  • 可以通过persist命令解除键(key)的死亡时间
1
2
3
4
5
6
7
8
9
10
11
12
13
127.0.0.1:6379> set name voler
OK
127.0.0.1:6379> expire key 10
(integer) 1
127.0.0.1:6379> get name
"voler"
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> set name voler ex 10
OK
127.0.0.1:6379> ttl name
(integer) 6
#--ex,设置键(key)的死亡时间为10s,ttl命令返回当前剩余时间