Redis介绍与基本配置(第一章)
本章目录:
一,Redis介绍与基本配置
- Redis介绍
- Redis安装与配置(Window下安装)
- Redis基
1.Redis介绍
1.1:数据库分类
-----关系类数据库
关系类数据库模型是把复杂的数据库结构归结为简单的二元关系(即二维表格形式)。包含Mysql,Oeacle,SqlServer等。
随着互联网WEB.2.0时代的到来,面临着高并发,高性能的一系列的挑战。
------非关系类数据库
新型的数据库模型,也被称为NoSql数据库,NoSql本意是“NOTONLY SQL”,并不是彻底要否定关系型数据库,而是作为传统关系型数据库的一个有效补充。
包含memcached(纯内存),redis(持久化缓存),mongodb (文档的数据库)
1.2:非关系型数据库的分类
1.key-value存储数据库
键值数据库就类似传统语言使用哈希表,可以通过key来添加,查询或删除数据,因为使用key主键访问,所以会获得很高的性能及扩展性。
典型产品:Memcached,Redis,MemcacheDB,BerKeleyDB
2.列储存(Colum-oriedted)数据库
了解即可,一般公司用不着,典型产品:Cassandra,HBase。
3.面向文档(Docment-Oriedted)数据库
面向文档数据库会将数据以文档的形式储存。每个文档都是自包含的数据单元,是一系列数据项的集合。典型产品:MorgoDB,CouchDB
4.图形(Graph)数据库
1.3:Redis介绍
1.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
2.在Redis的存储体系中,没有表的概念,它相当于java中的map,由无数个key-value来存储数据,一个key可以存储的value可以是字符串、哈希表、列表、集合等Redis支持的数据类型。
3.在Redis中的数据查找中,只需要给定查找的key,就可以找到对应存储的value值,Redis在同一个数据库中,key是唯一不重名的。
4.在redis的安装当中,redis会默认创建db0~db15一共16个数据库,绝大部分情况下只需要使用默认的数据库db0就可以。
传统关系型数据中,数据是以表的组织形式进行存储,其中表内一般又含有多个字段,一个表可以存储多条记录。
在redis数据库中,数据是以键值对的形式进行存储,一个数据库中只有多个key,每一个key只有一个对应的value。
2.Redis安装
2.1,Window下安装:
下载地址:https://github.com/MSOpenTech/redis/releases
选择64位的ZIP压缩包点击下载,下载完成后解压,并将解压后的文件夹重命名为redis,方便后面使用
2.2,运行Redis服务
2.2.1,使用cmd命令行进入解压后的redis目录
2.2.2,在redis目录下 运行redis-server redis.windows.conf,启动redis服务,此时当关闭命令窗口redis服务也会关闭,其中后面的redis.window.conf可以省略
2.2.3,可以将redis服务安装成windows服务,在redis目录下的命令窗口输入:redis-server --service-install redis.windows.conf即可
2.2.4, 查看服务是否配置成功,右键计算机—管理—服务,查找是否有Redis服务,如果启动,代表windows上的redis服务已经配置成功,redis服务已经启动。
3.Redis命令
3.1,远程连接本地Redis
启动本机Redis客户端:redis–cli ,此命令连接到本机的Redis服务,同时用PING命令检测本机Redis服务是否启动
连接远程Redis服务: redis–cli –h host –p port –a “password”
其中host为远程主机IP地址
Port为远程Redis服务端口号
Password为远程Redis服务密码
用客户端连接了redis服务之后,就可以在当前命令行里使用redis命令来操作redis数据库了
3.2,Redis数据类型
Redis支持五种数据类型:String(字符串),Hash(哈希),list(列表),set(集合) 及zset(有序集合)
String(字符串)(最常用)
string是redis最基本的类型,是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
string类型l是Redis最基本的数据类型,一个键最大能存储512MB。
Hash(哈希)(常用)
Redis hash 是一个键值(key=>value)对集合。
Redis hash 是一个 string 类型的 key和 value 的映射表,hash 特别适合用于存储对象,相当于java中的Map集合。
List(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。
Set(集合)
Redis的Set是string类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
zset(sorted set:有序集合)(了解)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
3.3,Redis命令
在关系型数据库中,各种数据库都有自己对应操作命令,一般而言都是通用的SQL语句,
在redis中,也有一套专用的“SQL”语句,我们一般称其为redis命令。
例如:
在mysql中想要查询某张表的数据
Select * from tablename tablename为表名
在redis中想要查询某个key存储的数据
Get keyname keyname为key名
Redis中有5种支持的数据类型,针对不同的数据类型,Redis有不同的操作命令,接下来将会一一介绍。
Redis键命令
Redis字符串命令
Redis哈希(hash)命令
Redis列表(list)命令
Redis集合(set)命令
Redis缓存特性
性能极高
– Redis能读的速度是110000次/s,写的速度是81000次/s ,而关系型数据库MYSQL读写速度仅为2000次/s左右。
丰富的数据类型
– Redis支持二进制安全的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 性
– Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
丰富的特性
– Redis还支持 publish/subscribe通知订阅模式, key 过期等等特性。