一、Redis数据类型介绍 1.1、五种数据类型:
字符串(String)
字符串列表(list)
有序字符串集合(sorted set)
哈希(hash)
字符串集合(set)
1.2、Key定义的注意点
不要过长,
不要过短,
统一的命名规范
二、Redis数据结构之字符串类型
二进制安全的,存入和获取的数据相同,Value最多可以容纳的数据长度是512M 2.1、存储String常用命令
赋值
取值
删除
数值增减
扩展命令
[root@localhost redis]# ./bin/redis-cli 2.1.1、赋值
127.0.0.1:6379> set name java1234
OK 2.1.2、取值
127.0.0.1:6379> get name
"java1234" 2.1.3、获取并设置值
127.0.0.1:6379> getset name open1111
"java1234"
127.0.0.1:6379> get name
"open1111" 2.1.4、删除
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> get name
(nil) 2.1.5、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>
127.0.0.1:6379> set n2 java1234
OK
127.0.0.1:6379> incr n2
(error) ERR value is not an integer or out of range
127.0.0.1:6379> 2.1.6、自减 decr 同上
127.0.0.1:6379> decr nn
(integer) 2
127.0.0.1:6379> decr n3
(integer) -1 2.1.7、扩展
incrby 指定增量值
127.0.0.1:6379> incrby n3 8
(integer) 7
2.1.8、decrby 指定减量值
127.0.0.1:6379> decrby n3 5
(integer) 2
2.1.9、append 追加字符串
假如没定义 直接赋值
127.0.0.1:6379> append s1 jj
(integer) 2
127.0.0.1:6379> get s1
"jj"
127.0.0.1:6379> append s1 bb
(integer) 4
127.0.0.1:6379> get s1
"jjbb"
Del n1 n2 删除多个的命令 三、Redis数据结构之哈希类型
String key和String Value的Map容器,每一个Hash可以存储4294967295个键值对 3.1、存储Hash常用命令:
赋值
取值
删除
增加数字
判断字段是否存在
获取hash属性个数
获取hash所有属性名称
定义h1 以及username和password字段 值分别是java1234 123456 3.1.1、hget单个字段设置
127.0.0.1:6379> hset h1 username java1234
(integer) 1
127.0.0.1:6379> hset h1 password 123456
(integer) 1
127.0.0.1:6379> hget h1 username
"java1234"
127.0.0.1:6379> hget h1 password
"123456"
3.1.2、hmset 多个字段一起设置
127.0.0.1:6379> hmset h2 username open1111 password 23456
OK
127.0.0.1:6379> hmget h2 username
- "open1111"
127.0.0.1:6379> hmget h2 password
- "23456"
127.0.0.1:6379> hmget h2 username password
-
"open1111"
-
"23456"
127.0.0.1:6379> hgetall h2
-
"username"
-
"open1111"
-
"password"
-
"23456"
3.1.3、hdel删除属性
可以一次删除一个或者多个
127.0.0.1:6379> hdel h2 username password
(integer) 2
127.0.0.1:6379> hgetall h2
(empty list or set)
3.1.4、hincrby增加数字
127.0.0.1:6379> hset h1 age 20
(integer) 1
127.0.0.1:6379> hincrby h1 age 5
(integer) 25
3.1.5、hexists判断字段是否存在 1表示存在 0表示不存在
127.0.0.1:6379> hexists h1 age
(integer) 1
127.0.0.1:6379> hexists h1 age2
(integer) 0
3.1.6、hlen获取hash属性个数
127.0.0.1:6379> hlen h1
(integer) 3
127.0.0.1:6379> hlen h2
(integer) 0
3.1.7、hkeys获取所有属性名称
127.0.0.1:6379> hkeys h1
-
"username"
-
"password"
-
"age"
127.0.0.1:6379> hkeys h2
(empty list or set)
3.1.8、hvals获取所有属性值
127.0.0.1:6379> hvals h1
-
"java1234"
-
"123456"
-
"25"
127.0.0.1:6379> hvals h2
(empty list or set)
127.0.0.1:6379> 四、Reids数据结构之List类型
ArrayList使用数组方式,LinkedList使用双向链接方式 4.1、存储List常用命令
双向链接表中增加数据
双向链接表中删除数据
存储list常用命令
两端添加
两端弹出
扩展命令
4.1.1、lpush 方式添加
从左边开始添加
127.0.0.1:6379> lpush l1 a b c d
(integer) 4
127.0.0.1:6379> lpush l1 1 2 3 4
(integer) 8
4.1.2、lrange 获取指定方位的集合元素
从第1个开始 到倒数第一个 也就是最后一个 也就是 所有数据
127.0.0.1:6379> lrange l1 0 -1
-
"4"
-
"3"
-
"2"
-
"1"
-
"d"
-
"c"
-
"b"
-
"a"
获取从第1个到第6个集合元素
127.0.0.1:6379> lrange l1 0 6
-
"4"
-
"3"
-
"2"
-
"1"
-
"d"
-
"c"
-
"b"
4.1.3、rpush 从右端开始添加(一般人比较习惯这种方式)
127.0.0.1:6379> rpush l2 a b c d
(integer) 4
127.0.0.1:6379> rpush l2 1 2 3 4
(integer) 8
127.0.0.1:6379> lrange l2 0 -1
-
"a"
-
"b"
-
"c"
-
"d"
-
"1"
-
"2"
-
"3"
-
"4"
127.0.0.1:6379> lrange l2 0 6
-
"a"
-
"b"
-
"c"
-
"d"
-
"1"
-
"2"
-
"3"
4.1.4、lpop 左侧弹出集合元素 4.1.5、rpop 右侧弹出集合元素
127.0.0.1:6379> lrange l2 0 -1
-
"b"
-
"c"
-
"d"
-
"1"
-
"2"
-
"3"
-
"4"
127.0.0.1:6379> rpop l2
"4"
127.0.0.1:6379> lrange l2 0 -1
-
"b"
-
"c"
-
"d"
-
"1"
-
"2"
-
"3"
———————————————— 版权声明:本文为CSDN博主「大坏蛋^_^」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/qzc70919700…