第一节: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"
---------