redis数据类型

1.redis的基本数据结构⼀(string/字符串)

redis中没有使用C语言的字符串表示,而是自定义一个数据结构,叫SDS,即简单动态字符串,redis的字符串是简单动态安全的,存入什么数据取出还是什么数据。
Redis Strings是最简单的Redis类型,如果只用这种类型,Redis就相当于一个持久化的memcache服务器(memecache的数据仅仅保存在内存中,服务器重启后,数据将丢失)

String类型的常用命令有:

1.1 赋值/取值命令(set/get)

redis赋值操作使用set命令,语法set key value,将键key设定为指定的字符串值;如果 key 已经保存了一个值,那么这个操作会直接覆盖原来的值,并且忽略原始类型;当set命令执行成功之后,之前设置的过期时间都将失效
范例:向redis中插入数据,键为name,值为zhangsan

127.0.0.1:6380> set name zhangsan OK 127.0.0.1:6380> keys * 1) name 127.0.0.1:6380> get name zhangsan 

如果想同时插入多个数据,使用mset key value [key value ...] 将对应给定的keys到他们相应的values上;同理mget key [key ...]用于获取多个key的值

127.0.0.1:6380> mset k1 v1 k2 v2 k3 v3 OK 127.0.0.1:6380> mget k1 k2 k3  1) v1 2) v2 3) v3 

1.2 删除命令(del)

删除命令为del,语法格式为del key
例如:删除name对应的数据值

127.0.0.1:6380> del name (integer) 1 127.0.0.1:6380> keys * 1) k3 2) k1 3) k2 

1.3 值递增/递减

如果字符串中的值是数字类型的,可以使用incr命令每次递增,不是数字类型则报错
语法:incr key
同样,递减使用decr

127.0.0.1:6380> set mem 10 OK 127.0.0.1:6380> incr mem (integer) 11 127.0.0.1:6380> incr mem (integer) 12 127.0.0.1:6380> incr mem (integer) 13 127.0.0.1:6380> get mem 13  127.0.0.1:6380> decr mem (integer) 12 127.0.0.1:6380> decr mem (integer) 11 127.0.0.1:6380> get mem 11 

如果要增减或减少指定的数值,则使用incrby和decrby命令

语法格式:incrby key 指定数值

decrby 同理

127.0.0.1:6380> set men 100 OK 127.0.0.1:6380> incrby men 10 (integer) 110 127.0.0.1:6380> incrby men 10 (integer) 120 127.0.0.1:6380> incrby men 10 (integer) 130  127.0.0.1:6380> decrby men 10 (integer) 120 127.0.0.1:6380> decrby men 10 (integer) 110 

1.4 追加内容

语法:append key value

127.0.0.1:6380> set mm hello OK 127.0.0.1:6380> get mm hello 127.0.0.1:6380> append mm world (integer) 10 127.0.0.1:6380> get mm helloworld 127.0.0.1:6380> append mm ' hhhhh' (integer) 16 127.0.0.1:6380> get mm helloworld hhhhh 

1.5 获取长度

语法:strlen key

127.0.0.1:6380> get mm helloworld hhhhh 127.0.0.1:6380> STRLEN mm (integer) 16