1、前情提要
通过前面的博客,揭示了Redis中五种数据结构的存储数据的结构,并简单的介绍了使用python连接Redis,从本篇博客开始,将会描述各种数据结构中最常用的方法。因为前面已经介绍过了各种数据结构,所以这开始便介绍方法了。
2、Redis中的通配符
Redis支持的是glob风格的通配符,下表描述了一般的匹配规则:
通配符 | 含义 | 举例 |
? | 匹配任意的一个字符 | “a?”可以匹配“ab”,“aa”等字符串 |
* | 匹配任意个字符(可以是0个) | “a*”可以匹配“a”,“abc”等字符串 |
[] | 匹配括号中的任意一个字符 | “a[ab]”可以匹配“aa”,“ab”两个字符串,其它的不可以匹配 |
\ | 转义,转义“?”这种特殊字符,使其变为一般字符 | “a\?”匹配的是“a?”字符串,取消了“?”符号的含义 |
3、通用key的操作
我们知道每一种数据结构都对应着一个key,有时候我们需要找都某个key的时候,下面的几个命令也许能够给与我们帮助。
命令 | 功能 | 返回值 |
KEYS | 得到指定的key | key的名称 |
EXISTS | 判断指定的key是否存在 | 存在返回1,不存在返回0 |
TYPE | 得到指定的key的类型 | 存在返回key的类型,不存在返回none |
DEL | 删除指定的key | 返回成功删除元素的个数 |
3.1、得到指定的key => KEYS命令
3.1.1、语法:KEYS key
3.1.2、实例:
a、找到名称为myList的key,操作及结果如下图所示:
b、得到所有的key(通配符简单的使用到了),操作及结果如下图所示:
3.2、判断一个键是否存在 => EXISTS命令
3.2.1、语法:EXISTS key
3.2.2、实例:
a、mySet这个key是存在的,进行判断试试,操作及结果如下图所示:
b、abc这个键没有存在,也进行判断试试,操作及结果如下图所示:
3.3、获取一个键的数据类型 => TYPE命令
3.3.1、语法:TYPE key
3.3.2、实例:
a、获取mySet的数据类型,操作及结果如下图所示:
b、如果是abc这个不存在的键呢?操作及结果如下图所示:
3.4、删除指定的key => DEL命令
3.4.1、语法:DEL key
3.4.2、实例:
a、删除set这个存在的key,操作及结果如下图所示:
b、删除abc这个不存在的key,操作及结果如下图所示:
4、字符串的常用操作
4.1、字符串的常用操作命令如下表所示
命令 | 功能 | 返回值 |
SET/GET | 赋值/取值 | |
INCR | 让整数自增1 | 返回相加后元素的值 |
INCRBY | 让整数增加指定的整数 | 返回相加后元素的值 |
DECR/DECRBY | 自减/减去指定的整数 | 返回相减后元素的值 |
INCRBYFLOAT | 增加指定的浮点数 | 返回相加后元素的值 |
APPEND | 向尾部追加值 | 返回拼接后的字符串的长度 |
STRLEN | 获取字符串的长度 | 返回指定元素的长度 |
MGET/MSET | 同时获取/设置多个值 | 返回添加后元素的个数 |
4.2、SET命令与GET命令,这两个命令前面已经讲过,这里就不赘述了
4.3、INCR命令
INCR命令是让key对应的value的值加一,但这个加一的前提是value是一个整数,如果不是一个整数,那么将会报错。简单的实例如下图所示:
4.3、INCRBY命令
INCRBY和INCR差不多,不过一个是加1,一个加指定的数,如果被加的对象不是一个整数,也是会报错的;简单的实例如下图所示:
4.4、DECR命令和DECRBY命令
这两个命令和INCR与INCRBY命令类似,只不过是把加变为了减,简单的实例如下图所示:
4.5、INCRBYFLOAT命令
这个命令是给字符串数据结构非字符串类型的值加上指定的浮点数,如果是字符串,则会报错,简单的实例如下图所示:
4.6、APPEND命令
这个命令是用来给指定key的value后面添加值的,如果key不存在,则会新建这个key,并且把对应的value设置为追加的值。简单的实例如下图所示:
4.7、STRLEN命令
这个命令是用来得到指定key对应的value的长度的,简单的实例如下图所示:
4.8、MGET命令和MSET命令
这两个命令后者用来快速创建多个字符串,前者用来一次性读取多个字符串,简单的实例如下图所示:
关于字符串数据结构常用的命令就讲到这里啦,如果有大佬知道更多,欢迎在评论区留下来。这篇博客就到这里了。