基础数据类型(5种):string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)
string
set key_name value 命令用于设置给定key的值,如果key已经存储其它值,则会覆盖旧值,且与类型无关
get key_name 命令用于获取指定key的值,如果key不存在,则返回nil,若key存储的值不是字符串类型,则返回一个错误
GETRANGE key_name startIndex endIndex 命令用于获取存储在指定key中字符串的子字符串,包含startIndex、endIndex
GETSET key_name value 命令用于设置指定key的值,并返回key的旧值,当key不存在时返回nil,当key存在但不是字符串类型时,返回一个错误
MGET key1 key2 … keyn 命令用于获取全部给定key的值,若有某个key不存在则对应的值返回nil,整个结果集用列表表示
APPEND key_name new_value 命令用于在指定key对应的value值后面追加新值,若key不存在则该命令效果等同于set key_name value,操作成功后返回新字符串的长度
String 类型最多可存储512M的内容
参考资料:string 命令
list
LINSERT key_name before/after existing_value new_value 命令用于在列表的元素前或者后插入元素,当指定元素不存在于列表中时,不执行任何操作,当列表不存在时,被视为空列表,不执行任何操作,如果key不是列表类型,返回一个错误。如果命令执行成功,返回插入操作完成之后,列表的长度,若果没有找到指定元素,返回-1,如果key不存在或为空列表,返回0
LINDEX key index 通过索引获取列表中的元素
LLEN key 获取列表长度
LPOP key 移出并获取列表的第一个元素
LPUSH key value1 value2 将一个或多个值插入到列表头部
RPUSH key value1 value2 将一个或多个值插入到列表尾部
LRANGE key startIndex stopIndex 获取指定区间内的元素,0 是第一个元素,-1是倒数第一个元素
LREM key count value 移出列表中与参数value相等的元素
count > 0 : 从表头开始向表尾搜索,移除与value相等的元素,数量为count
count < 0 : 从表尾开始向表头搜索,移除与value相等的元素,数量为count的绝对值
count = 0 : 移除表中所有与value相等的值
LTRIM key startIndex stopIndex 让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除
RPOP key 命令用于移除并返回最后一个元素
LSET key index value 通过索引来设置元素的值
参考资料:list命令
hash
HDEL key_name field1 … fieldn 命令用于删除哈希表key中的一个或多个指定字段,返回被成功删除的字段数量
HEXISTS key_name field_name 命令用于查看哈希表的指定字段是否存在,如果哈希表含有给定字段则返回1,若哈希表不含有给定字段或key不存在则返回0
HGET key_name field_name 命令用于返回哈希表中指定字段的值,若给定的字段或key不存在时,返回nil
HGETALL key_name 命令用于返回哈希表中所有的字段和值,在返回值里,紧跟每个字段名之后是字段的值,所以返回值的长度是哈希表大小的两倍,若key不存在则返回空列表
HKEYS key_name 命令用于返回哈希表中所有的字段名
HLEN key_name 命令用于获取哈希表中字段的数量
HMGET key_name field1 … fieldn 用于获取全部指定字段的值
参考资料:hash命令
set
参考资料:set命令
zset
zset中每个元素都会关联一个double类型的分数,redis内部是根据分数来为集合中的元素进行由小到大的排序,分数可以重复
参考资料:zset 命令