redis中没有使用C语言的字符串表示,而是自定义一个数据结构,叫SDS,即简单动态字符串,redis的字符串是简单动态安全的,存入什么数据取出还是什么数据。
Redis Strings是最简单的Redis类型,如果只用这种类型,Redis就相当于一个持久化的memcache服务器(memecache的数据仅仅保存在内存中,服务器重启后,数据将丢失)
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"
删除命令为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"
如果字符串中的值是数字类型的,可以使用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
语法: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"
语法:strlen key
127.0.0.1:6380> get mm "helloworld hhhhh" 127.0.0.1:6380> STRLEN mm (integer) 16