第一节:Redis 数据类型介绍
五种数据类型:
字符串(String)
字符串列表(list)
有序字符串集合(sorted set)
哈希(hash)
字符串集合(set)
第二节:Redis 数据结构之字符串类型
存储String
二进制安全的,存入和获取的数据相同
Value最多可以容纳的数据长度是512M
存储String常用命令
赋值
取值
删除
数值增减
扩展命令
下面是对这些命令的操作例子:
设置值、获取值:
127.0.0.1:6379> set name cy OK 127.0.0.1:6379> get name "cy"
获取并设置值:
127.0.0.1:6379> getset name zhangsan (nil) 127.0.0.1:6379> get name "zhangsan"
incr自增:
假如没有定义 则默认0
假如非数值类型 则报错
127.0.0.1:6379> incr n (integer) 1 127.0.0.1:6379> get n "1" 127.0.0.1:6379> set nn 2 OK 127.0.0.1:6379> incr nn (integer) 3 127.0.0.1:6379> get nn "3"
非数字类型会报错:
127.0.0.1:6379> set n2 wangwu OK 127.0.0.1:6379> incr n2 (error) ERR value is not an integer or out of range
自减 decr 同上
扩展 :
incrby 指定增量值
127.0.0.1:6379> get n "-2" 127.0.0.1:6379> incrby n 10 (integer) 8 127.0.0.1:6379> get n "8"
decrby 指定减量值
append 追加字符串
127.0.0.1:6379> get n "8" 127.0.0.1:6379> append n xiaoming (integer) 9 127.0.0.1:6379> append n s (integer) 10 127.0.0.1:6379> get n "8xiaomings"
第三节:Redis 数据结构之哈希类型
存储Hash
String key和String Value的Map容器
每一个Hash可以存储4294967295个键值对
存储Hash常用命令:
赋值
取值
删除
增加数字
判断字段是否存在
获取hash属性个数
获取hash所有属性名称
下面是对这些命令的使用例子:
hset单个字段设置
127.0.0.1:6379> hset h1 username cy (integer) 1 127.0.0.1:6379> hset h1 password 123456 (integer) 1 127.0.0.1:6379> hget h1 username "cy" 127.0.0.1:6379> hget h1 password "123456"
hmset 多个字段一起设置
127.0.0.1:6379> hmset h2 username cp password 123456 OK 127.0.0.1:6379> hget h2 username "cp" 127.0.0.1:6379> hget h2 password "123456" 127.0.0.1:6379> hgetall h2 1) "username" 2) "cp" 3) "password" 4) "123456"
hdel删除属性
可以一次删除一个或者多个
127.0.0.1:6379> hgetall h2 1) "username" 2) "cp" 3) "password" 4) "123456" 127.0.0.1:6379> hdel h2 username (integer) 1 127.0.0.1:6379> hgetall h2 1) "password" 2) "123456"
127.0.0.1:6379> hgetall h1 1) "username" 2) "cy" 3) "password" 4) "123456" 127.0.0.1:6379> hdel h1 username password (integer) 2 127.0.0.1:6379> hgetall h1 (empty list or set)
hincrby增加数字
127.0.0.1:6379> hset h1 age 10 (integer) 1 127.0.0.1:6379> hincrby h1 age 5 (integer) 15 127.0.0.1:6379> hget h1 age "15"
hexists判断字段是否存在 1表示存在 0表示不存在
127.0.0.1:6379> hexists h1 age (integer) 1 127.0.0.1:6379> hexists h1 age2 (integer) 0
hlen获取hash属性个数
127.0.0.1:6379> hlen h1 (integer) 1 127.0.0.1:6379> hgetall h1 1) "age" 2) "15"
hkeys获取所有属性名称
127.0.0.1:6379> hgetall h1 1) "age" 2) "15" 3) "name" 4) "cp" 127.0.0.1:6379> hkeys h1 1) "age" 2) "name"
hvals获取所有属性值
127.0.0.1:6379> hgetall h1 1) "age" 2) "15" 3) "name" 4) "cp" 127.0.0.1:6379> hvals h1 1) "15" 2) "cp"
---------