在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Redis字符串类型 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。 一、最简单的命令 1、获得符合规则的键名列表 keys * 这里的*号,是指列出所有的键,同时*号也可以替换成其他支持glob风格通配符格式,具体规则如下: ?:匹配一个字符 *:匹配任意个(包括0个)字符 []:匹配括号间多大任一个字符,可以使用“-”表示范围,如[a-z] \x:匹配字符x,用于转义,如需匹配问号,需要\?才能匹配 这里说明一下,redis命令是不区分大小写的,还有就是keys命令是需要遍历Redis中所有的键的,当键很多时,很耗费性能的。所以在生产环境中要尽可能的不用。 例: redis 127.0.0.1:6379> set name "joan" OK redis 127.0.0.1:6379> get name "joan" redis 127.0.0.1:6379> set aaa 1 OK redis 127.0.0.1:6379> set bbb 2 OK redis 127.0.0.1:6379> keys * 1) "aaa" 2) "name" 3) "bbb" 2、判断键是否存在 exists foo 如果存在返回证书类型1,否则返回0 例: redis 127.0.0.1:6379> exists name (integer) 1 redis 127.0.0.1:6379> exists n (integer) 0 3、删除键 del foo 返回的是删除的键的个数,这里说明也可以一次删除多个键,只需空格再加键就可以了。例如: del foo bar 如果删除一个键,这个键已经不存在了就会返回0 。 例: redis 127.0.0.1:6379> keys * 1) "aaa" 2) "name" 3) "bbb" redis 127.0.0.1:6379> del aaa bbb (integer) 2 redis 127.0.0.1:6379> del aaa (integer) 0 4、获得键值的数据类型 type foo 这里在重复一下上次说过的,redis的数据类型有:string(字符串类型)、hash(散列类型)、list(列表类型)、set(集合类型)、zset(有序集合类型)。 下面开始详细介绍每种数据类型的命令。 二、字符串类型 字符串类型是Redis中最基本的数据类型,他能存储任意形式的字符串,包括二进制数据。字符串类型也是其他四种数据类型的基础。也就是说,其他四种数据类型都是由字符串类型所组成的。 常用命令如下: 例: redis 127.0.0.1:6379> get age "32" redis 127.0.0.1:6379> incr age (integer) 33 redis 127.0.0.1:6379> get age "33"
例: redis 127.0.0.1:6379> incrby age 5 (integer) 38 redis 127.0.0.1:6379> get age "38"
例: redis 127.0.0.1:6379> append name 'hello' (integer) 9 redis 127.0.0.1:6379> get name "joanhello"
例: redis 127.0.0.1:6379> mget name age float 1) "joanhello" 2) "38" 3) "33.33"
redis 127.0.0.1:6379> mset name "joan" age 9 float 33.33 OK redis 127.0.0.1:6379> mget name age float 1) "joan" 2) "9" 3) "33.33"
redis set foo bar OK 这时赋值给foo值为bar,对应的ASCII码为98、97、114,转换为八位二进制为: 01100010、01100001、01110010 进行如下操作: redis> getbit foo 0 0 redis> getbit foo 1 1 redis> getbit foo 2 1 redis> getbit foo 3 0 所以getbit就是获取key对应的字符串类型键值指定位置的二进制的值(0或1),索引从0开始。 如果获取超出了最大值,也返回0. 而相反,setbit就是来设置key对应的指定位置的二进制值的。返回值是该位置的旧值。例如 redis> setbit foo 6 0 (integer) 1 如果要设置的值超过了最大长度,则命令会将最大长度之后到最大长度之间未设置的值统一设置为0,同理,设置一个不存在的键值,也会自动把它前面所有未设置的位置二进制设为0。如: redis> setbit qqq 8 1 (integer) 0 则会把qqq对应的值变为00000001 。
同时他的参数还可以设置查询的范围,
最后一个bitop命令,可以进行位操作。
字符串的操作命令就这些了。位的命令还是很有用的,比如我们在存储性别的时候可以把性别的类型设置为一个比特位,这样超级省空间的。 总结 以上就是这篇文章的全部内容了,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。 |
请发表评论