Redis介绍
-
Redis 是开源的,免费的,高性能的 非关系形数据库。
-
数据存储在内存,以key-value形式存储,类似于我们学习的字典 {name: ‘jack’ }
-
可以设置过期时间,过期自动删除,也可以做持久化。
关系型数据库: MySQL
MySQL的缺陷:
1. 读取的时候相对较快, 但是写入数据是比较慢的, 读取速度是1w/s. 写入速度: 1000/s。
2. 读写时容易混淆,会读取出脏数据,需要对Mysql读写做限制.
3. 需要定义严格的表结构,插入数据需要满足完整性约束。
4. 数据存储在磁盘,相对于内存数据库,读写速度慢。
非关系型数据库: Redis 在非关系型数据库中没有表这个概念,也就没有表关系这样的概念,都是k/v 格式的。
Redis 优势:
-
性能极高 – Redis读的速度是11w次/s,写的速度是8.1w次/s ,都是基于内存的,读写速度比较快。
-
丰富的数据类型 – Redis支持 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
-
原子性 – Redis的所有操作都是原子性的,要么成功执行,要么失败不执行。支持简单的事务,即原子性,通过MULTI和EXEC指令包起来。如下所有的操作全部执行或者全部不执行
Redis安装
这里以windows系统为例: Redis 支持 32 位和 64 位。这个需要根据操作系统的实际情况选择,这里我们下载64bit。
Redis-x64-5.0.10.msi安装到 自己的windows。
注意:把 redis 的路径加到系统的环境变量里
然后就可以使用客户端连接
redis-cli -h localhost -p 6379
Redis配置
找到安装目录下的配置文件redis.windows-service.conf,修改配置文件实现如下需求。
Redis通用命令
redis默认有16个 数据库(0-15) select 3 切换到数据库3
info 查看redis服务的信息 info replication查看主从复制的状况
keys * 查看所有的key, 生产环境中不使用 可能阻塞redis
查看key的数据类型 type key1
key 是否存在 exists key1
删除一个key del key1
重命名 rename key key1
清空数据库 flushdb/flushall
String类型
$key-->字符串/数值$
-
key 不宜过长,占用内存,也不宜过短,可读性差 如:user:lauf
-
值,为字符串或者数值,最多存
List
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
Hash
Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储字典数据。