Redis支持五大数据类型。

String:二进制安全,可以存放任何数据,最多可存放512M数据。

hash:类似于java中的hashmap,redis中主要存放对象。

list:类似于java中的LinkedList,是一个双链表。

set:类似于hashset,数据无序,不可重复。

zset:有序集合。

redis 通过type key 查询当前key的类型:

redis list 添加list redis list key_数据库


一、String类型:

set key value 创建String 类型键值对(如果key存在 旧的value 会被覆盖)。

get key 获取key的value。

redis list 添加list redis list key_数据库_02


append key value 在原始的key所对应的value基础上拼接新的value。

redis list 添加list redis list key_键值对_03


strlen key 获取value的长度

redis list 添加list redis list key_redis list 添加list_04


incr/decr key 对value的值加/减1(value 必须是数字)

redis list 添加list redis list key_键值对_05


incrby/decrby key num 对value的值加/减 num (value必须为数字)

redis list 添加list redis list key_数据_06


setrange key index value 从value的index下标开始设值,将新的value放入下表起始字段,进行旧value的更改。

redis list 添加list redis list key_redis list 添加list_07


getrange key index1 index2 获取value从index1到index2的值。

redis list 添加list redis list key_键值对_08


setex key time value 对key设值过期时间。

redis list 添加list redis list key_数据_09


setnx key value 设值新的的键值对,新的键值对在数据库中不存在。

redis list 添加list redis list key_redis_10


mset key1 value key2 value key3 value 同时这时多个key value 键值对。(如果数据库中不包含即将设值的key 数据库会进行增添)

redis list 添加list redis list key_数据_11


mget key1 key2 同时获取多个key。

redis list 添加list redis list key_数据_12


msetnx key1 value1 key2 value2 同时设值多个key value(设值的key必须原数据库中不存在,否则都不生效)

redis list 添加list redis list key_redis_13


二、List类型:

lpush/rpush key value1 value2… 创建list类型的键值对。 (lpush从右向左存、rpush从左向右存)

lrange key index1 index2 获取index1~index2之间的值。(如果全取index1 = 0,index2 = -1)

redis list 添加list redis list key_redis_14


lpop/rpop key 弹出栈顶/栈底元素。(弹出后原list会发生改变)。

redis list 添加list redis list key_redis_15


lindex key index list中index 所对应的值

redis list 添加list redis list key_redis_16


llen key 获取list长度。

redis list 添加list redis list key_redis list 添加list_17


lrem key num num 删除list 中的几个值(图中为删除l1中的2个2)。

redis list 添加list redis list key_键值对_18


ltrim key index1 index2 截取list index1到index2的部分。(改变原list)

redis list 添加list redis list key_键值对_19


rpoplpush key1 key2 。将key1的栈底给key2的栈顶。

redis list 添加list redis list key_redis_20


lset key index value 将key下标所对应的值改成value。

redis list 添加list redis list key_redis list 添加list_21


linsert key before/after value newvalue 将newvalue放在value的前/后(如果value重复,newvalue放入第一个value出现的前后)。

redis list 添加list redis list key_redis list 添加list_22