【四】redis数据结构之字符串,命令及其时间复杂度
字符串
字符串类型的value不能大于512MB。
value可以存json。
命令
get keyname 通过Key获取字符串类型的值
set key value 设置key-value 不管key是否存在都设置,即存在的时候就更新了value。 add or update
setnx key value 只有当key不存在的时候才设置,即只新增,不修改 add
set key value xx 只有当Key存在的时候才设置,即只修改,不新增 update
setex key timeout value 指定key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。
incr keyname 自增
decr keyname 自减
incrby keyname n 自增步长
incrbyfloat keyname floatnumb 浮点数自增
decrby keyname n 自减步长
mget key1 key2 key3 批量get 批量操作大量省去了网络事件,这种操作比用n次get要快。但一次mget不要太多key。
mset key1 value1 key2 value2 key3 value3 批量set
getset key newvalue 为这个Key设置新的值,同时返回老的值
append key value 在key后面追加字符串,返回字符串长度。
strlen key 计算字符串长度,注意每个中文是占用两个字节
getrange key start end 获取字符串指定下标所有值 start和end都包含,下标从0开始
setrange key index value 设置字符串指定下标的新值
时间复杂度(在服务端的开销)