1、redis数据类型
1.1 String
string类型是redis的基本类型,string类型是二进制安全的,可以包含任何数据,比如jpg图片或者序列号对象。string类型的值最大能存储512M
常用命令:
SET key value, 设置指定的key值
GET key,获取指定key的值
GETRANGE key start end,返回key中字符串值的子字符串
GETSET key value,将给定key的值设为value,并返回key的旧值。返回给定 key 的旧值。 当 key 没有旧值时,即 key 不存在时,返回 nil 。
GETBIT key offset,对key所存储的字符串值,获取指定偏移量上的位(bit)。
SETBIT key offset value,对key所存储的字符串值,设置或清除指定偏移量上的位(bit).
MGET key1[key2...],获取所有(一个或多个)给定key的值。
MSET key value [key value ....],同时设置一个或多个key-value值对
SETEX key seconds value,将值value关联到key,并将key的过期时间设置为多少seconds
PSETEX key millseconds value,设置过期时间为毫秒的key-value值对
SETNX key value,只有在key不存在的情况下设置key的值
STRLEN key,返回key所存储的字符串值的长度。
INCR key,将key中存储的数字值增一
INCRBY key increment,将key所存储的值加上给定的增量值 (increment)。
DECR key,将key中存储的值减一
DECRBY key decrement,将key所存储的值减去戈丁的减量值(decrement)。
APPEND key value,将value值追加到key所对应的value的末尾。
1.2 Hash
redis hash 是一个string类型的field(字段)和value(值)的映射表,hash特别适合于存储对象。
适用场景:
电商购物车实现场景可以通过hset 添加商品 hincrby 添加商品数量 hlen获取商品总数 hdel删除商品 hgetall获取购物车所有商品
可以做单点登录存放用户信息
常用命令:
HDEL key field1[field2],删除一个或多个哈希表字段
HEXISTS key field,查看哈希表key中,指定的字段是否存在
HGET key filed,获取存储在哈希表中指定的字段的值
HGETALL key,获取在哈希表中指定key的所有字段和值
HINCRBY key field increment,为指定字段的整数值加上增量increment
HKEYS key,获取所有哈希表中的字段
HLEN key,获取哈希表中字段的数量
HMGET key field1[field2],获取所有给定字段的值
HMSET key field value[field2 value2],同时将多个field-value对设置到哈希表key中
HSET key field value,将哈希表key中的字段field的值设为value
HSETNX key field value,只有在字段field不存在时,设置哈希表字段的值。
HVALS key,获取哈希表中所有的值
HSCAN key cursor[MATCH pattern][COUNT count],迭代哈希表中的键值对
1.3 List
redis中的列表是简单的字符串列表,按照插入的顺序排序,可以添加一个元素到列表的头部或尾部。
常用命令:
BLPOP key timeout,移出并获取列表中的第一个元素,如果列表中没有元素会阻塞列表直到等待超时或发现有元素可弹出为止。
BRPOP key timeout,移出并获取列表中的最后一个元素,如果列表中没有元素会阻塞列表直到等待超时或发现有元素可弹出为止。
LINDEX key index,通过索引获取列表中的元素
LLEN key,获取列表的长度
LPOP key, 移出并获取列表的第一个元素
LPUSH key value,将一个值插入到列表头部
LPUSHX key value,将一个值插入到已存在的列表头部
LRANGE key start stop,获取列表指定范围内的元素
LREM key count value,移除列表元素
LSET key index value,通过索引设置列表元素的值
LTRIM key start stop,让列表只保留指定区间内的元素,不在区间内的元素都将被删除。
RPOP key,移除列表的最后一个元素,返回值为移除的元素
RPUSH key value,将一个值插入到列表的尾部
RPUSHX key value,将一个值插入到已存在列表的尾部
...
1.4 Set
Set是string类型的无序集合,集合中的成员不可重复。
常用命令:
SADD key memeber[meember1],向集合中添加一个或多个元素
SCARD key,获取集合的成员数量
SDIFF key1 [key2],返回第一个集合与其他集合的差异,可以认为是第一个集合中独有的元素
SDIFFSTORE destination key1[key2],将差异的值报错到destination中
SINTER key1[key2],返回给定集合的交集
SINTER destination key1[key2],返回给定集合的交集并保存到destination中
SISMEMBER key member,判断集合中是否存在member元素
SMEMBERS key,返回集合中的所有元素
SMOVE source destination member,将元素member从source集合中移动到destination集合中
SPOP key,移除并返回集合中的一个随机元素
SRANDMEMBER key[count],返回集合中一个或多个随机成员
SUNION key1[key2