Redis的数据结构——字符串(String)与哈希(Hash)
Redis的五种数据类型:
- 字符串(String)
- 字符串列表(list)
- 有序字符串集合(sorted set)
- 哈希(hash)
- 字符串集合(set)
众所周知,Redis它是一个key-value键值对的数据库,而关于它key的定义。大家遵从以下几点:
Key定义的注意点:
- 不要过长(最好不要超过1024个字节)
- 不要过短
- 统一的命名规范
存储String
- 二进制安全的,存入和获取的数据相同
- Value最多可以容纳的数据长度是512M
存储String常用命令:
- 赋值
- 取值
- 删除
- 数值增减
- 扩展命令
1、set key value
设置key的value值
2、get key
获取key的value值
3、getset key value
先获取key的value值,再重新赋值
4、del key
删除key键
5、incr key
为key的value值+1,若key不存在,则把value赋值为0后+1;若value数据类型不为integer,则报错。
6、decr key
为key的value值-1,若key不存在,则把value赋值为0后-1;若value数据类型不为integer,则报错。
7、incrby key integer
为key的value值+integer,若key不存在,则把value赋值为0后+integer;若value数据类型不为integer,则报错。
8、decrby key integer
为key的value值-integer,若key不存在,则把value赋值为0后-integer;若value数据类型不为integer,则报错。
9、append key val
为key的原来的value值后拼接 字符串val。
10、keys *
获取所有的keys列表
存储Hash
- String Key和String Value的map容器
- 每一个Hash可以存储4294967295个键值对
存储Hash常用命令:
- 赋值
- 取值
- 删除
- 增加数字
- 自学命令
hset [hashTableName] [keyName] [keyValue]
获取一个hash表键值对
hget [hashTableName] [keyName]
设置多个键值对
hmset [hashTableName] [keyName1] [keyValue1] [keyName2] [keyValue2] ...
获取多个键值对
hmget [hashTableName] [keyName1] [keyName2]
获取hash表中所有键与值
hgetall [hashTableName]
删除多个键值对
hdel [hashTableName] [keyName1] [keyName2]
删除整个hash表
hdel [hashTableName]
增加数字
hincrby [hashTableName] [keyName1] [number]
判断是否存在 存在返回1 不存在返回0
hexists [hashTableName] [keyName1]
获取长度
hlen [hashTableName]
获取key
hkeys [hashTableName]
获取value
hvals [hashTableName]