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