前面两节已经把Redis了解了并安装完成了,接下来就是学习一下基础的命令了。
Redis总共有五种数据类型,在学习的时候,一定要开一个redis-cli程序,边看边练,提高效率。
一、最简单的命令
1、获得符合规则的键名列表
keys *
|
这里的*号,是指列出所有的键,同时*号也可以替换成其他支持glob风格通配符格式,具体规则如下:
?:匹配一个字符
*:匹配任意个(包括0个)字符
[]:匹配括号间多大任一个字符,可以使用“-”表示范围,如[a-z]
\x:匹配字符x,用于转义,如需匹配问号,需要\?才能匹配
这里说明一下,redis命令是不区分大小写的,还有就是keys命令是需要遍历Redis中所有的键的,当键很多时,很耗费性能的。所以在生产环境中要尽可能的不用。
本文原创于本人个人博客,文章会优先发布于 http://irfen.me
2、判断键是否存在
exists foo |
如果存在返回证书类型1,否则返回0
3、删除键
del foo |
返回的是删除的键的个数,这里说明也可以一次删除多个键,只需空格再加键就可以了。例如:
del foo bar |
如果删除一个键,这个键已经不存在了就会返回0 。
4、获得键值的数据类型
type foo
|
这里在重复一下上次说过的,redis的数据类型有:string(字符串类型)、hash(散列类型)、list(列表类型)、set(集合类型)、zset(有序集合类型)。
下面开始详细介绍每种数据类型的命令。
本文原创于本人个人博客,文章会优先发布于 http://irfen.me
二、字符串类型
字符串类型是Redis中最基本的数据类型,他能存储任意形式的字符串,包括二进制数据。字符串类型也是其他四种数据类型的基础。也就是说,其他四种数据类型都是由字符串类型所组成的。
常用命令如下:
set key value #赋值,返回值是OK
get key #取值,返回值是对应键的值
incr key #递增数字,虽然是字符串类型,但如果可以是整型的话,也是可以使用此命令递增的,返回值是递增后的值
incrby key number #这个命令和上一个类似,只不过可以通过number指定增长的数量,返回值同样是增长后的值
decr key #递减数字,类似递增,这里不做过多解释了
decrby key number #类似于incrby,这里大家应该可以猜到,decrby key number和incrby key -number是一个意思
incrbyfloat key floatnumber #增加指定浮点数,这个是增加一个双精度的浮点数,位数多了就会不准
append key value #向尾部追加值,如 append foo ” value”,这个时候用引号是为了标识有空格,返回值为值的总长度
srelen key #获取字符串值总长度,返回值就是长度,如果key不存在,则返回0
mget key [key ...] #同时获得多个键值,键值的列表
mset key value [key value ...] #同时设置多个键值,成功返回OK
setbit/getbit #这个是位操作,具体示例如下:
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 。
bitcount key命令可以返回字符串类型键值中二进制值为1的个数。
同时他的参数还可以设置查询的范围,
bitcount foo 0 1 #意思是只查询ba两个字节中包含二进制值为1的个数。
最后一个bitop命令,可以进行位操作。
bitop OR res foo1 foo2 #意思是把foo1和foo2做OR运算,结果存入res中。bitop支持的位操作有ND、OR、XOR、NOT四个。
字符串的操作命令就这些了。位的命令还是很有用的,比如我们在存储性别的时候可以把性别的类型设置为一个比特位,这样超级省空间的。
本文原创于本人个人博客,文章会优先发布于 http://irfen.me
相关推荐
二、 redis学习笔记之数据类型 3 三、 redis学习笔记之排序 11 四、 redis学习笔记之事务 16 五、 redis学习笔记之pipeline 20 六、 redis学习笔记之发布订阅 23 七、 redis学习笔记之持久化 28 八、 redis学习笔记...
redis学习笔记redis 是一个开源的 key-value 数据库。它又经常被认为是一个数据结构服务器。 因为它的 value 不仅包括基本的 string 类型还有 list,set ,sorted set 和 hash 类型。当 然这些类型的元素也都是 string...
Redis学习笔记.pdf 含目录 #资源达人分享计划#
redis学习笔记
本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...
附件是本人学习redis的一个学习过程笔记和心得,希望对有需要的同行有所助益
redis学习笔记.pdf
Redis学习笔记
redis学习笔记,学习资料,参考视频https://www.bilibili.com/video/BV1jD4y1Q7tU?p=29
redis学习笔记,讲解redis的安装使用,基本原理,常见场景,脚本,持久化,事务等高级特性都有讲解
基于redis学习视频做的笔记
redis的学习笔记
Redis学习笔记-包括周阳和狂神说
Redis全套学习笔记 完整版pdf.rar set:添加键值对 get:获取值 apend:追价值 strlen:获取值的长度 setnx:key不存在时,设置key的值 incr:原子递增1 decr:原子递减1 incrby/decrby:递增或者递减指定的数字 ...
二、 redis学习笔记之数据类型 3 三、 redis学习笔记之排序 11 四、 redis学习笔记之事务 16 五、 redis学习笔记之pipeline 20 六、 redis学习笔记之发布订阅 23 七、 redis学习笔记之持久化 28 八、 redis...
redis合集(深入了解redis,redis实践,redis适用场景及实现,redis学习笔记整理,redis命令参考手册,python简明教程.chm,redis_cmd.chm)
Redis全套学习笔记-带章节目录