02_Redis数据类型(String、Hash)
【Redis数据类型】
redis是通过key-Value来存储的,其支持的数据类型如下:
1.字符串
2.Hash
3.List
4.Set
5.SortSet(zset)
注:redis中,命令(get、set...)忽略大小写,而key/value不忽略。
【String类型】
1.赋值 set
语法:set key value
2.取值 get
语法:get key
3.设置多个值 mset
语法:mest key1 value1 key2 value2 .....
4.获取多个值
语法:mget key1 key2
5.取值并赋值 getset
语法:getset key value
6.删除 del
语法: del key
7.自增
自增1-语法:incr key
自增指定的数值-语法:incrby key increment
应用场景:商品编号、订单号采用String的递增数字特性生成
定义商品编号key为 items:id
8.自减
自减1-语法:decr key
自减指定的数值-语法:decrby key decrement
9.向尾部追加值
语法:append key value
10.获取字符串的长度
语法:strlen key
如果不存在该键,返回0
【Hash类型】
Redis Hash
hash称为散列类型,它提供了字段和字段值的映射。
字段只能是字符串类型,不支持散列、集合等其它类型。
1.一次给一个字段赋值
语法:hset key field value
注意:hset执行插入操作时:返回1
hset执行更新操作时:返回0
2.一次给多个字段赋值
语法:hmset key field1 value1 field2 value2......
3.字段不存在,执行插入,字段存在,不执行任何操作
语法:hsetnx key field value
4.一次取一个值
语法:hget key field
5.一次取多个值
语法:hmget key field1 field2...
6.获取所有的字段值
6.删除一个/多个字段
语法:hdel key field1 field2....
返回值:删除的个数
7.数字增长指定值
语法:hincrby key field increment
注意:没有自增1的hincr指令
【其它重要指令】
1.判断普通的key字段是否存在
语法:exists key
返回值:存在,返回1;不存在,返回0
2.判断hash中的field是否存在
语法:hexists key field
3.获取该redis中所有的key名
语法:keys *
4.只获取hash类型中的所有字段名
语法:hkeys key *
5.只获取hash类型中的所有字段值
语法:hvals key *
6.获取hash类型中字段的数量
语法:hlen key
【实例:商品信息存储】
字段:id name amount price
商品在redis中定义的key为:[ items:1001 ]