第十四章《redis》

redis(Remote dictionary server):是一个基于键值对(key-value)的NoSQL是一个开源软件
redis的数据是存储在内存当中,可用于好俗缓存,消息队列。redis主要的数据类型有5种;
字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(zset);

redis的优点
1.速度快 读的速度大约110000/s,写的速度大约85000/s;
2.数据类型多样,可以实现的功能多
3.简单稳定,代码量少,单线程进行工作
4.支持的语言多,perl,python,java,lua等等;
5.持久化
6.主从复制
7.高可用和分布式

缺点:由于数据存储在内存当中,大规模的数据存放在redis中,内存成本太高

set key value [EX seconds] [PX milliseconds] [NX|XX]
EX:设置键值对是添加键过期,单位是秒
PX:设置键值对是添加键过期,单位是微秒

NX:表示这个键是新的,是之前不存在的(用于创建键值对)
XX:表示这个键是存在的(用于修改键值对的值)

redis全局命令:
keys * 查询所有的键
dbsize 统计键的数量总和
exists key 查看这个key是否存在
del key 删除键值对

redis的数据结构类型:
1.字符串
2.hash
3.列表(list)
4.集合(set)
5.有序集合(zset)

键过期:已经存在的键值对设置过期时间:expire key 数字 (单位是秒),当超过过期时间,这个键自动删除;
ttl key:查看这个键的过期时间,如果返回的数字大于0表示还有数字秒过期,返回数字为1表示没有给这个键设置过期时间,返回2,表示这个键不存在或已过期

5种数据结构类型;
在redis中,所有的key都是字符串类型的数据
1.字符串(string):指的是值的数据类型是字符串,包含简单的字符串和复杂的字符串,以及数字、图片、声音、视频等这些二进制; 特点:一个key对应一个value。
单个值大小不超过512M;
命令格式:
1.设置字符串:set key value [ex seconds] [px milliseconds] [nx|xx]
2.获取值: get key
3.查询键是否存在:exists key
4.批量设置键值对:mset key value key value…
5.批量获取值:mget key1 key2…
6.计数:
(1)incr key :对整数数字有效,给key的值增加1,如果这个键不存在,这个命令会设置这个键并且默认值是从0开始增加1;
(2)decr key :自减1,其余和上面保持一致;
(3)incrby key 数字:给key加上数字;
(4)decrby key 数字:给key减去数字;
(5)incrbyfloat 小数 :给key加上小数

7.append key value:给key的值垢面再加上一个字符串;
8.strlen key:显示key对应的value字符串长度
9.getset key newvalue:更新key的值并返回原值;
10.setrange key offset str:更新value某一个位置上的字符串;(如果我们要设置的offset已经超出value的长度,它仍然会把新的字符串添加到下标指定的位置。从value最后一位到指定下标位置全部用“\x00”来填充);
11.getrange key start end:获取部分value;

字符串的内部编码:redis 根据key对应的value的长短、类型来判断使用哪种内部编码
int: 8字节长度的整数;
embstr: 小于等于39个字节的字符串;
raw: 大于39个字节的字符串

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
另开终端
在这里插入图片描述
在这里插入图片描述
多开redis
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了28 篇原创文章 · 获赞 8 · 访问量 3428

猜你喜欢

转载自blog.csdn.net/weixin_46152207/article/details/105403926