Redis 散列(Hash)介绍与基本操作

Redis的散列可以让用户将多个键值对存在一个Redis键里面,可以把一些相关数据存在一起,就像关系数据库的行。

命令 操作
hget hmget的单参数版本 一次操作一个值
hset hmset的单参数版本 一次操作一个值
hmget hmget key-name key [key…]从散列里面获取一个或者多个键的值
hmset hmset key-name key value [key value…] 为散列里面一个或者多个键设置值
hdel hdel key-name key [key…] 删除给定键的值
hlen 获取散列包含键值的数量
hexists hexists key-name key 检查给定键是否存在散列里面
hkeys 获取所有的键
hvals 获取所有的值
hgetall 获取所有的键和值
hincrby 将某个键的值加上一个incrment
hincrbyfloat 将某个键的值加上一个incrment(float类型)redis 2.6以上 support
--基本增加删除
--增加操作 语法为一个键里面存在多个键值对 如下 前一个为键 后一个为值 两两对应
redis 127.0.0.1:6379> hmset hash-key1 k1 v1 k2 v2
OK
--找键hash-key1里面的k1
redis 127.0.0.1:6379> hmget hash-key1 k1
1) "v1"
--下面为错误示范 本想得到所有的键 结果错误
redis 127.0.0.1:6379> hmget hash-key1
(error) ERR wrong number of arguments for 'hmget' command
--正确示范 获取值
redis 127.0.0.1:6379> hmget hash-key1 k1 k2
1) "v1"
2) "v2"
--查找键的数量
redis 127.0.0.1:6379> hlen hash-key1
(integer) 2
--删除hash-key1里面的某个键
redis 127.0.0.1:6379> hdel hash-key1 k2
(integer) 1
--查看是否删除成功
redis 127.0.0.1:6379> hmget hash-key1 k1 k2
1) "v1"
2) (nil)
--检查是否存在某个键 返回结果1 0 判断
redis 127.0.0.1:6379> hexists hash-key1 k1
(integer) 1
redis 127.0.0.1:6379> hexists hash-key1 k2
(integer) 0
--获取所有的键
redis 127.0.0.1:6379> hkeys hash-key1
1) "k1"
--获取所有的值
redis 127.0.0.1:6379> hvals hash-key1
1) "v1"
--获取所以的键和值
redis 127.0.0.1:6379> hgetall hash-key1
1) "k1"
2) "v1"
--设置新键测试加法
redis 127.0.0.1:6379> hmset hash-key1 k2 5 k3 3.5
OK
--加操作
redis 127.0.0.1:6379> hincrby hash-key1 k2 5
(integer) 10
--错误示范
redis 127.0.0.1:6379> hincrby hash-key1 k2 3.55
(error) ERR value is not an integer or out of range
redis 127.0.0.1:6379> hincrbyfloat hash-key1 k2 3.55
(error) ERR unknown command 'hincrbyfloat'
redis 127.0.0.1:6379> hincrby hash-key1 k2 3.55
(error) ERR value is not an integer or out of range
redis 127.0.0.1:6379> hincrby hash-key1 k3 3.55
(error) ERR value is not an integer or out of range
--下面是版本问题VerSion2.6以上可以使用
redis 127.0.0.1:6379> hincrbyfloat hash-key1 k3 3.55
(error) ERR unknown command 'hincrbyfloat'
redis 127.0.0.1:6379>



你可能感兴趣的:(redis,redis,数据库,hash)