Redis入门(二):五大类型 1:字符串类型

首先熟悉几个比较基础的命令,在终端输入 redis-cli,打开redis命令行客户端
1.获得符合规则的键名列表

KEYS pattern

pattern支持glob风格通配符格式。

? : 匹配一个字符
* : 匹配任意个(包括0个)字符
[]: 匹配括号间的任一字符,可以使用“-”符号表示一个范围,如a[b-d]可以匹配“ab”,"ac","ad"
\x: 匹配字符x,用于转义符号。如要匹配“?”就需要用\? 

使用 SET 命令建立一个名为 bar 的键 :

redis> SET bar 1
OK

然后使用 KEYS * 就能获得 Redis 中所有的键了

redis> KEYS *
1) "bar"

KEYS 命令需要遍历 Redis 中的所有键,当键的数量较多时会影响性能,不建议在生产环境中使用。
2.判断一个键是否存在

EXISTS key

如果键存在则返回整数类型 1,否则返回 0.

redis> EXISTS bar
(integer) 1
redis> EXISTS noexists
(integer) 0

3.删除键

DEL key [key ...]

可以删除一个或者多个键,返回值是删除的键的个数。

redis> DEL bar
(integer) 1
redis> DEL bar
(integer) 0

4.获得键值得数据类型

TYPE key

TYPE 命令可以用来获得键值得数据类型,String(字符串类型)、hash(散列类型)、list(列表类型)、
set(集合类型)、zset(有序集合类型)。

redis> SET foo 1
OK
redis> TYPE foo
string
redis> LPUSH bar 1
(integer) 1
redis> TYPE bar
list

LPUSH 命令的作用是向指定的列表类型健中增加一个元素,如果不存在则创建它。

1.1 字符串类型

1.1.1 介绍
字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据。
字符串类型是其他4中数据类型的基础,其他数据类型和字符串类型的差别从某种角度来说只是阻止字符串的形式不同。

1.1.2 命令
1.赋值与取值

SET key value
GET key

赋值

redis> SET key hello
OK

取值

redis> GET key
"hello"
当键不存在时会返回空结果。

2.递增数字

INCR key

前面说过字符串类型可以存储任何形式的字符串,当存储的字符串是整数形式时,Redis提供了一个实用的命令
INCR,其作用是让当前键值递增,并返回递增后的值。

redis> INCR num
(integer) 1
redis> INCR num
(integer) 2

当要操作的键不存在时会默认键值为0,所以第一次递增后的结果为1.如果键值不是整数,Redis会提示错误

redis> SET foo lorem
OK
redis> INCR foo
(error)ERR value is not an integer or out og range

3.增加指定的整数

INCRBY key increment

redis> INCRBY bar 2
(integer) 2
redis> INCRBY bar 3
(integer) 5

4.减少指定的整数

DECR key
DECRBY key decrement

DECR 命令与 INCR 命令用法相同,只不过是让键值递减。

redis> DECR bar
(integer) 4

DECRBY key 5 相当于 INCRBY key -5,不做过多介绍。
5.增加指定浮点数

INCRBYFLOAT key increment

redis> INCRBYFLOAT bar 2.7
"6.7"
redis> INCRBYFLOAT bar 5E+4
"50006.69999999999999929"

6.向尾部追加值

APPEND key value

APPEND 作用是向键值得末尾追加value。如果键值不存在则将该键的值设置为value,相当于SET key value。返回值是追加后字符串的总长度。

redis> SET key hello
OK
redis> APPEND key " world!"
(integer) 12

7.获取字符串长度

STRLEN key

STRLEN 命令返回键值的长度,如果键值不存在则返回0。

redis> STRLEN key
(integer) 12
redis> SET key 柴郡
OK
redis> STRLEN key
(integer) 6

8.同时获得、设置多个键值

MGET key [key ...]
MSET key value [key value ...]

MGET/MSET 与 GET/SET 相似,不过前者可以同时获得、设置多个键值。

redis> MSET key1 v1 key2 v2 key3 v3
OK
redis> GET key2
"v2"
redis> MGET key1 key3
1) "v2"
2) "v3"


摘自《Redis 入门指南第二版》。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    原文作者:MurasakiSeiFu
    原文地址: https://segmentfault.com/a/1190000012865322
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞