redis 字符串类型命令
命令集合
http://www.redis.cn/commands.html
基础命令
FLUSHDB -删除当前数据库里面的所有数据。
127.0.0.1:6379> set demo v1 # 设置
OK
127.0.0.1:6379> get demo # 获取
"v1"
127.0.0.1:6379> keys * # 获取所有key
1) "name"
2) "demo"
127.0.0.1:6379> EXISTS demo # 判断demo是否存在
(integer) 1
127.0.0.1:6379> EXISTS demo2
(integer) 0
127.0.0.1:6379> APPEND demo 'ceshi' # 追加内容,如果不存在key则相当于set
(integer) 7
127.0.0.1:6379> get demo #
"v1ceshi"
127.0.0.1:6379> STRLEN demo #获取字符串常规
(integer) 7
127.0.0.1:6379>
步长(++)
127.0.0.1:6379> set num 1
OK
127.0.0.1:6379> get num
"1"
127.0.0.1:6379> incr num # 自增1 ,i++
(integer) 2
127.0.0.1:6379> incr num
(integer) 3
127.0.0.1:6379> get num
"3"
127.0.0.1:6379> secr num
(error) ERR unknown command 'secr'
127.0.0.1:6379> decr num # 自减1 i--
(integer) 2
127.0.0.1:6379> decr num
(integer) 1
127.0.0.1:6379> get num
"1"
127.0.0.1:6379> INCRBY num 10 # 增加10
(integer) 11
127.0.0.1:6379> DECRBY num 20 #减少20
(integer) -9
127.0.0.1:6379>
字符串范围(截取/替换…)
### 截取
127.0.0.1:6379> set demo 'hello,world'
OK
127.0.0.1:6379> GETRANGE demo 0 3 # 截取0-3
"hell"
127.0.0.1:6379> GETRANGE demo 0 -1 # 获取全部字符串
"hello,world"
127.0.0.1:6379>
### 替换
127.0.0.1:6379> SETRANGE demo 1 demo # 从下表1
(integer) 11
127.0.0.1:6379> get demo
"hdemo,world"
127.0.0.1:6379>
setex
setnx
127.0.0.1:6379> setex demo 10 'hello' # 设置demo的值为hello,10s后过期
OK
127.0.0.1:6379> ttl demo
(integer) 6
127.0.0.1:6379> get demo
"hello"
127.0.0.1:6379> ttl demo
(integer) -2
127.0.0.1:6379> get demo
(nil)
127.0.0.1:6379> keys *
1) "name"
2) "num"
127.0.0.1:6379> setnx demo2 hello'' # 如果demo2不存在则设置demo2的值
(integer) 1
127.0.0.1:6379> keys *
1) "name"
2) "num"
3) "demo2"
127.0.0.1:6379> setnx demo2 'demo'# 如果demo2存在则不设置demo2的值
(integer) 0
127.0.0.1:6379> get demo2
"hello"
127.0.0.1:6379>
mget
mset
msetnx
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3 # 同时设置多个值
OK
127.0.0.1:6379> keys *
1) "k3"
2) "name"
3) "k1"
4) "k2"
5) "demo2"
6) "num"
127.0.0.1:6379> mget k1 k2 # 同时获取多个值
1) "v1"
2) "v2"
127.0.0.1:6379> msetnx k1 demo # msetnx 是原子性操作,要么同时成功要么同时失败
(integer) 0
127.0.0.1:6379>
# 高级用法
127.0.0.1:6379> mset user:1 zhangsan // 可以理解为设置用户id=1的值
OK
127.0.0.1:6379> mget user:1
1) "zhangsan"
127.0.0.1:6379>
getset 获取原来的值,然后设置为现在的值
127.0.0.1:6379> getset ceshi redis
(nil)
127.0.0.1:6379> getset ceshi re
"redis"
127.0.0.1:6379> get ceshi
"re"
127.0.0.1:6379>