Redis,Key-Value型数据库
Key通常是String类型,Value常用的有String、Hash、List、Set、Sorted Set五种类型
格式 | 含义 | 例子 |
set key value | 缓存key-value到Redis | set name Trxcx |
get key | 获取key对应的value值 | get name |
incr key | key对应的value值+1 | incr age |
decr key | key对应的value值-1 | decr age |
setex key seconds value | 缓存key-value,seconds秒后失效 | setex sex 10 male |
ttl key | 获取key剩余存活时间 | ttl sex |
del key | 删除key | del name |
setnx key value | key存在则不做任何操作,否则缓存key-value值 | setnx name Zy |
127.0.0.1:6379> ping // 返回PONG说明连接Redis成功
PONG
127.0.0.1:6379> set name Trxcx
OK
127.0.0.1:6379> set age 21
OK
127.0.0.1:6379> get name
"Trxcx"
127.0.0.1:6379> get age
"21"
127.0.0.1:6379> set name Zy // 再次添加相同key值时,覆盖之前的数据
OK
127.0.0.1:6379> get name
"Zy"
127.0.0.1:6379> incr age
(integer) 22
127.0.0.1:6379> get age
"22"
127.0.0.1:6379> decr age
(integer) 21
127.0.0.1:6379> get age
"21"
127.0.0.1:6379> incr name // 对非数值型数据incr或decr时会报错
(error) ERR value is not an integer or out of range
127.0.0.1:6379> setex sex 10 male
OK
127.0.0.1:6379> get sex
"male"
127.0.0.1:6379> get sex // 过期后key-value被清掉
(nil)
127.0.0.1:6379> setex sex 10 male
OK
127.0.0.1:6379> get sex
"male"
127.0.0.1:6379> ttl sex // 查看剩余存活时间
(integer) 5
127.0.0.1:6379> ttl sex
(integer) 3
127.0.0.1:6379> ttl sex // -2表示key-value已经被清掉
(integer) -2
127.0.0.1:6379> ttl name // -1表示key-value永久存在
(integer) -1
127.0.0.1:6379> get age
"21"
127.0.0.1:6379> del age
(integer) 1
127.0.0.1:6379> get age
(nil)
127.0.0.1:6379> setnx age 22 // 不存在key,则添加此key-value
(integer) 1
127.0.0.1:6379> get age
"22"
127.0.0.1:6379> setnx name Trxcx // 存在key,则不做操作
(integer) 0
127.0.0.1:6379> get name
"Zy"
Redis中String类型应用场景
1、计数器
如视频播放次数,incr viewNumber 1
2、多台服务器共享session