第三章主要讲述的是一些redis命令,也就是对于我们上篇文章中介绍的五大数据类型的操作命令。第三章书中也是采用上节中的介绍方式来描述命令,为啥要描述这些命令的原因是其在软件开发中大概会被使用的概率为95%。本次文章也主要介绍redis中对string的其他常用命令。

在之前我们学了string的相关命令,也就是说string数据结构用来存储一个顺序字符,因为在各种编程语言中string都是一样的。在reids中string类型的结构主要用来存储字符串、整形数字和浮点数。

整数和浮点数可以和任意数字进行加减法,整形数字具有范围一般为计算机器的位数,32位和64位,浮点数也同样具有范围,浮点数的双精度为double也是跟计算机的位数相关联。但是redis作为第三种方式拥有更具优势的值保存能力,其提供和字符串一样的数据表示能力。

redission 操作key_编程语言

如上图所示:

incr:表示将1加到其对应的key所表示的数字上。
decr:表示对key所对应的数字进行减一操作并保存
incrby:表示key对应 的数字添加 一个指定的数字
decrby:表示key对应的数字减去一个指定的数字并保存
incrbyflout:表示对key对应的数字添加一个flout数字并保存。

redission 操作key_redis_02

如图所示,我们在对一个没有的key进行加减法操作的时候,默认为0;当然如果我们对一个不能转化为整形或者浮点型的string值进行加减法操作的时候将会出现错误。

string数据结构同样提供了很多对字符串和具体字符操作的命令。

redission 操作key_java_03

append:将给他定的字符跟随到现有key对应的string类型的数据之后
getrange:这个指令和substring很类似
setrange:设置在给定的字符到偏移地址的处,setrange key1 offset value
getbit:获取指定偏移地址的字符 getbit key1 1
setbit:将给定的字符设置到指定的偏移地址上 setbit key1 1 j
bitcout:获取指定key的string的长度。bitcount key1 start end
bitop:对字符进行位操作

在使用setrange和setbit写入字符串时,如果字符串之前不够长,那么redis会再更新和写入之前自动用null扩展字符串,在用getrange获取字符串,是不会返回其后边的任何数据。

redission 操作key_编程语言_04

redission 操作key_redis_05

如果我们往一个超过其范围的偏移地址设置值,那么redis默认会为我们设置空值。

相比于其他的key-value数据库,我们没有那么多的命令去操作一个字符串,更别提substring和位操作了,这就是redis的强大之处。