5: 字符串类型(string)
字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数
据,序列化后的数据,JSON化的对象甚至是一张图片。
字符串类型的数据操作总的思想是通过key操作value,key是数据标识,value是我们感
兴趣的业务数据。
6:set
语法:set key value
功能:将字符串值 value 设置到 key 中,如果key已存在,后放的值会把前放的值覆盖掉。
返回值:OK表示成功
6.1 get
语法:get key
功能:获取 key 中设置的字符串值
返回值:key存在,返回key对应的value;
key不存在,返回nil
6.2 append
语法:append key value
功能:如果 key 存在,则将 value 追加到 key 原来旧值的末尾
如果 key 不存在,则将key 设置值为 value
返回值:追加字符串之后的总长度(字符个数)
6.3 strlen
语法:strlen key
功能:返回 key 所储存的字符串值的长度
返回值:如果key存在,返回字符串值的长度;
key不存在,返回0
6.4 incr
语法:incr key
功能:将 key 中储存的数字值加1,如果 key 不存在,则 key 的值先被初始化为 0 再执行incr操作。
返回值:返回加1后的key值
6.5 decr
语法:decr key
功能:将 key 中储存的数字值减1,如果 key 不存在,则么 key 的值先被初始化为 0 再执行 decr 操作。
返回值:返回减1后的key值
6.6 incrby
语法:incrby key offset
功能:将 key 所储存的值加上增量值,如果 key 不存在,则 key 的值先被初始化为 0 再执行 INCRBY 命令。
返回值:返回增量之后的key值。
6.7 decrby
语法:decrby key offset
功能:将 key 所储存的值减去减量值,如果 key 不存在,则 key 的值先被初始化为 0 再执行 DECRBY 命令。
返回值:返回减量之后的key值。
6.8 getrange
语法:getrange key startIndex endIndex
功能:获取 key 中字符串值从 startIndex 开始到 endIndex 结束的子字符串,包括startIndex和endIndex, 负数表示从字符串的末尾开始,-1 表示最后一个字符。
6.9 setrange
语法:setrange key offsetIndex value
功能:用value覆盖key的存储的值从offset开始。
返回值:修改后的字符串的长度。
6.10 setex
语法:setex key seconds value
功能:设置key的值,并将 key 的生存时间设为 seconds (以秒为单位) ,如果key已经存在,将覆盖旧值。
返回值:设置成功,返回OK。
6.11 mset
语法:mset key value [key value…]
功能:同时设置一个或多个 key-value 对
返回值:设置成功,返回OK。
6.12 mget
语法:mget key [key …]
功能:获取所有(一个或多个)给定 key 的值
返回值:包含所有key的列表,如果key不存在,则返回nil。
6.13 msetnx
语法:msetnx key value[key value…]
功能:同时设置一个或多个 key-value 对,如果有一个key是存在的,则设置不成功。
返回值:设置成功,返回1
设置失败,返回0
7:列表(List)
Redis列表是简单的字符串列表,按照插入顺序排序,左边(头部)、右边(尾部)或者中间都可以添加元素。链表的操作无论是头或者尾效率都极高,但是如果对中间元素进行操作,那效率会大大降低了。
列表类型的数据操作总的思想是通过key和下标操作value,key是数据标识,下标是数据在列表中的位置,value是我们感兴趣的业务数据。
7.1 lpush
语法:lpush key value [value…]
功能:将一个或多个值 value 插入到列表 key 的最左边(表头),各个value值依次插入到表头位置。
返回值:插入之后的列表的长度。
7.2 rpush
语法:rpush key value [value…]
功能:将一个或多个值 value 插入到列表 key 的最右边(表尾),各个 value 值按依次插入到表尾。
返回值:插入之后的列表的长度
7.3 lrange
语法:lrange key startIndex endIndex
功能:获取列表 key 中指定下标区间内的元素,下标从0开始,到列表长度-1;下标也可以是负数,表示列表从后往前取,-1表示倒数第一个元素,-2表示倒数第二个元素,以此类推;startIndex和endIndex超出范围不会报错。
返回值:获取到的元素列表。
7.4 lpop
语法:lpop key
功能:移除并返回列表key头部第一个元素,即列表左侧的第一个元素。
返回值:列表左侧第一个元素的值;列表key不存在,返回nil。
7.5 rpop
语法:rpop key
功能:移除并返回列表key尾部第一个元素,即列表右侧的第一个元素。
返回值:列表右侧第一个元素的值;列表key不存在,返回nil。
7.6 lindex
语法:lindex key index
功能:获取列表 key 中下标为指定 index 的元素,列表元素不删除,只是查询。0 表示列表的第一个元素,1 表示列表的第二个元素;index也可以负数的下标, -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
返回值:key存在时,返回指定元素的值;
Key不存在时,返回nil。
7.7 llen
语法:llen key
功能:获取列表 key 的长度
返回值:数值,列表的长度;key不存在返回0
7.8 lrem
语法:lrem key count value
功能:根据参数 count 的值,移除列表中与参数 value 相等的元素,
count >0 ,从列表的左侧向右开始移除;
count < 0 从列表的尾部开始移除;
count = 0移除表中所有与 value 相等的值。
返回值:数值,移除的元素个数
7.9 ltrim
语法:ltrim key startIndex endIndex
功能:截取key的指定下标区间的元素,并且赋值给key。下标从0开始,一直到列表长度-1;下标也可以是负数,表示列表从后往前取,-1表示倒数第一个元素,-2表示倒数第二个元素,以此类推;startIndex和endIndex超出范围不会报错。
返回值:执行成功返回ok
7.10 lset
语法:lset key index value
功能:将列表 key 下标为 index 的元素的值设置为 value。
功能:设置成功返回ok ; key不存在或者index超出范围返回错误信息。
7.11 linsert
语法:linsert key before/after pivot value
功能:将值 value 插入到列表 key 当中位于值 pivot 之前或之后的位置。key不存在或者pivot不在列表中,不执行任何操作。
返回值:命令执行成功,返回新列表的长度。没有找到pivot返回 -1, key不存在返回0。
8:集合类型(set)
Redis的Set是string类型的无序不重复集合。
集合类型的数据操作总的思想是通过key确定集合,key是集合标识,元素没有下标,只有直接操作业务数据和数据的个数。
8.1 sadd
语法:sadd key member [member…]
功能:将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略,不会再加入。
返回值:加入到集合的新元素的个数(不包括被忽略的元素)。
8.2 smembers
语法:smembers key
功能:获取集合 key 中的所有成员元素,不存在的key视为空集合。
返回值:返回指定集合的所有元素集合,不存在的key,返回空集合。
8.3 sismember
语法:sismember key member
功能:判断 member 元素是否是集合 key 的元素
返回值:member是集合成员返回1,其他返回 0 。
8.4 scard
语法:scard key
功能:获取集合里面的元素个数
返回值:数字,key的元素个数。其他情况返回 0 。
8.5 srem
语法:srem key member [member…]
功能:移除集合中一个或多个元素,不存在的元素被忽略。
返回值:数字,成功移除的元素个数,不包括被忽略的元素。
8.6 srandmember
语法:srandmember key[count]
功能:只提供key,随机返回集合中一个元素,元素不删除,依然在集合中;
提供了count时,count 正数, 返回包含count个数元素的集合,集合元素各不重复。count是负数,返回一个count绝对值的长度的集合,集合中元素可能会重复多次。
返回值:一个元素或者多个元素的集合
8.7 spop
语法:spop key[count]
功能:随机从集合中删除一个或count个元素。
返回值:被删除的元素,key不存在或空集合返回nil。
8.8 smove
语法:smove src dest member
功能:将 member 元素从src集合移动到dest集合,member不存在,smove不执行操作,返回0,如果dest存在member,则仅从src中删除member。
返回值:成功返回 1 ,其他返回 0 。
8.9 sdiff
语法:sdiff key key [key…]
功能:返回指定集合的差集,以第一个集合为准进行比较,即第一个集合中有但在其它任何集合中都没有的元素组成的集合。
返回值:返回第一个集合中有而后边集合中都没有的元素组成的集合,如果第一个集合中的元素在后边集合中都有则返回空集合。
8.10 sinter
语法:sinter key key [key…]
功能:返回指定集合的交集,即指定的所有集合中都有的元素组成的集合。
返回值:交集元素组成的集合,如果没有则返回空集合。
8.11 sunion
语法:sunion key key [key…]
功能:返回指定集合的并集,即指定的所有集合元素组成的大集合,如果元素有重复,则保留一个。
返回值:返回所有集合元素组成的大集合,如果所有key都不存在,返回空集合。