Redis
Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用
- Redis不仅支持key-value类型的数据,同时还提供list、set、zset、hash等数据结构的存储
- Redis支持数据的备份,即master-slave模式的数据备份
优势
- 性能极高,redis能读的速度是11w次/s,写的速度是8.1w次/s
- 丰富的数据类型,Redis支持二进制案例的Strings、Lists、Hashes、Sets及Ordered Sets数据类型操作
- 原子,Redis的所有操作都是原子性的,就是要么成功执行所有操作要么完全失败不执行,单个操作是原子性的。多个操作也支持事务,通过MULIT和EXEC指令包起来
- 丰富的特性,Redis还支持publish/subscribe,通知,key过期等特性
与其他key-value存储的不同
- Redis有着更为复杂的数据结构并且提供对他们的原子性操作;Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象
- Redis运行在内存中但是可以持久化到硬盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面,是紧凑的以追加的方式产生的,因为他们不需要进行随机访问
Redis和MySQL的区别
- 数据库类型:mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢;redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,存储的读取速度快,能够大大的提高运行效率,但是保存时间有限
- MySQL运行机制:mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作。第一,导致运行效率过慢;第二,反复的访问数据库也会导致属数据库的负载过高,因此衍生了缓存的概念,缓存就是数据交换的缓冲区(cache),当浏览器执行请求时,首先会在缓存中进行查找,然后再去数据库
- redis是一款缓存数据库,用于存储使用频繁的数据,这样可以减少访问数据库的次数,提高运行效率
总结
- 类型:
- mysql是关系型数据库,redis是非关系型数据库
- 作用:
- mysql用于持久化的存储数据到硬盘,但是速度慢
- redis用于存储使用较为频繁的数据到缓存中,读取速度快
- 需求:
- 一般配合使用
Redis的安装
教程:https://www.runoob.com/redis/redis-install.html
windows下载地址:https://github.com/microsoftarchive/redis/releases
下载.mis自动配置环境变量
#1.cmd,redis.windows.conf可省略,会启用默认 >>redis-server.exe redis.windows.conf
#2.上一个cmd窗口不要关,另开一个cmd窗口,切换到redis安装目录下(也可以不cd?) >>D:\slk\OldBoy\Redis>redis-cli.exe -h 127.0.0.1 -p 6379 >>D:\slk\OldBoy\Redis>set myKey abc >>D:\slk\OldBoy\Redis>get myKeys
Rdis键语法
#创建key >>set KeyName KeyValue #获取键值、 >>get KeyName #删除键 >>del KeyName #键是否存在 >>exists KeyName #给键设置过期时间,以秒为单位 >>expire KeyName #移除键的过期时间 >>persisy KeyName #给键重命名 >>rename KeyName NewName #返回数据类型 >>type KeyName
Redis哈希
Redis hash是一个是string类型的field和value的映射表,适合存储对象
Redis中每个hash可以存储2**32-1键值对(40多亿)
#设置值(当字段不存在时) >>hsetnx Key Field Value #设置值,可设置多个 >>hmset Key Field Value #查看指定字段是否存在 >>hexists Key Field #获取值 >>hget key field #获取指定键中所有字段和值 >>hgetall Key #获取指定哈希表中所有字段 >>hkeys Key #获取指定哈希表中所有值 >>hvals Key #获取哈希表中字段数 >>hlen Key
来源:https://www.cnblogs.com/shenblog/p/12022880.html