持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第6天,点击查看活动详情
1、 字符串(String)
String是redis最基本的类型,你可以理解成Memcached一模一样的类型,一个key对应一个value。
Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
其value是字符串,不过根据字符串的格式不同,又可以分为3类:
- string:普通字符串
- int:整数类型,可以做自增、自减操作
- float:浮点类型,可以做自增、自减操作
不管是哪种格式,底层都是字节数组形式存储,只不过是编码方式不同。字符串类型的最大空间不能超过512M。
1.1、SET key value
设置指定 key 的值。
127.0.0.1:6379> set name xiaoming
OK
1.2、GET key
获取指定 key 的值。
127.0.0.1:6379> get name
"xiaoming"
1.3、MSET key value [key value ...]
批量添加多个String类型的键值对
127.0.0.1:6379> mset k1 v1 k2 v2
OK
127.0.0.1:6379> keys *
1) "k2"
2) "k1"
3) "name"
1.4、MGET key1 [key2..]
根据多个key获取多个String类型的value,这个可以用在项目的浏览量和点赞的应用上
127.0.0.1:6379> mget k1 k2
1) "v1"
2) "v2"
1.5、INCR key
将 key 中储存的数字值增一。
127.0.0.1:6379> set age 20
OK
127.0.0.1:6379> incr age
(integer) 21
127.0.0.1:6379> incr age
(integer) 22
1.6、INCRBY key increment
让一个整型的key自增并指定步长,例如:incrby num 2 让num值自增2
127.0.0.1:6379> incr age
(integer) 22
127.0.0.1:6379> incrby age 20
(integer) 42
1.7、INCRBYFLOAT key increment
将 key 所储存的值加上给定的浮点增量值(increment)
127.0.0.1:6379> incrbyfloat age 9
"51"
127.0.0.1:6379> incrbyfloat age 0.1
"51.10000000000000001"
1.8、DECR key
将 key 中储存的数字值减一。
127.0.0.1:6379> set num 1
OK
127.0.0.1:6379> decr num
(integer) 0
1.9、DECRBY key decrement
key 所储存的值减去给定的减量值(decrement) 。
127.0.0.1:6379> incrby num 20
(integer) 21
127.0.0.1:6379> decrby num 10
(integer) 11
1.10、SETNX key value
添加一个String类型的键值对,前提是这个key不存在,否则不执行
127.0.0.1:6379> setnx num 10
(integer) 0
127.0.0.1:6379> get num
"11"
1.11、SETEX key seconds value
添加一个String类型的键值对,并且指定有效期(以秒为单位)。
127.0.0.1:6379> setex time 200 fly
OK
127.0.0.1:6379> get time
"fly"
1.12、APPEND key value
如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。
127.0.0.1:6379> get num
"11"
127.0.0.1:6379> append num 200
(integer) 5
127.0.0.1:6379> get num
"11200"
1.13、GETRANGE key start end
getrange 获取指定区间范围内的值,类似between...and的关系,从零到负一表示全部
127.0.0.1:6379> set name a3121assaxd
OK
//全部获取
127.0.0.1:6379> getrange name 0 -1
"a3121assaxd"
//截取部分字符串
127.0.0.1:6379> getrange name 0 2
"a31"
1.14、SETRANGE key offset value
setrange 设置指定区间范围内的值,格式是setrange key值 具体值
127.0.0.1:6379> setrange name 1 xxx
(integer) 11
127.0.0.1:6379> get name
"axxx1assaxd"