笨重的蜗牛 2020-06-04
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings)
,散列(hashes)
, 列表(lists)
, 集合(sets)
, 有序集合(sorted sets)
与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了复制(replication),LUA脚本(Lua scripting),LRU驱动事件(LRU eviction),事务(transactions)和不同级别的 磁盘持久化(persistence), 并通过Redis哨兵(Sentinel) 和自动分区(Cluster)提供高可用性(high availability)
下面是官方的bench-mark数据:
测试完成了50个并发执行100000个请求。
设置和获取的值是一个256字节字符串。
结果:读的速度是110000次/s,写的速度是81000次/s
2008年,意大利一家创业公司Merzia的创始人Salvatore Sanfilippo为了避免MySQL的低性能,亲自定做一个数据库,并于2009年开发完成,这个就是Redis。
从2010年3月15日起,Redis的开发工作由VMware主持。
从2013年5月开始,Redis的开发由Pivotal赞助。
? 说明:Pivotal公司是由EMC和VMware联合成立的一家新公司。Pivotal希望为新一代的应用提供一个原生的基础,建立在具有领导力的云和网络公司不断转型的IT特性之上。Pivotal的使命是推行这些创新,提供给企业IT架构师和独立软件提供商。
string
、hash
、list
、set
、sorted set
tar zxvf redis-5.0.3.tar.gz
yum -y install gcc-c++ autoconf automake
切换到解压目录
cd redis-5.0.3/ make
创建安装目录
mkdir -p /usr/local/redis
不使用:make install(make install默认安装到/usr/local/bin目录下)
使用:如果需要指定安装路径,需要添加PREFIX参数
make PREFIX=/usr/local/redis/ install
安装成功如图
Redis-cli
:客户端
Redis-server
:服务器端
安装的默认目标路径:/usr/local/redis/bin
启动
./redis-server
默认为前台启动,修改为后台启动
复制redis.conf至安装路径下
cp redis.conf /usr/local/redis/bin/
修改安装路径下的redis.conf,将daemonize
修改为yes
启动时,指定配置文件路径即可
安装Redis客户端
建立连接->失败
修改配置文件redis.conf
注释掉bind 127.0.0.1
可以使所有的ip访问redis,若是想指定多个ip访问,但并不是全部的ip访问,可以bind设置
关闭保护模式,修改为no
添加访问认证
修改后kill -9 XXXX杀死redis进程,重启redis
再次建立连接 -> 成功
我们可以修改默认数据库的数量 默认16
修改database 32则默认为32个数据库
修改后kill -9 XXXX杀死redis进程,重启redis即可看到效果
采用关系模型来组织数据的数据库,关系模型就是二维表格模型。一张二维表的表名就是关系,二维表中的一行就是一条记录,二维表中的一列就是一个字段。
优点
缺点
数据库
Orcale,Sql Server,MySql,DB2
非关系型,分布式,一般不保证遵循ACID原则的数据存储系统。键值对存储,结构不固定。
优点
缺点
数据库
内容 | 关系型数据库 | 非关系型数据库 |
---|---|---|
成本 | 有些需要收费(Orcale) | 基本都是开源 |
查询数据 | 存储存于硬盘中,速度慢 | 数据存于缓存中,速度快 |
存储格式 | 只支持基础类型 | K-V,文档,图片等 |
扩展性 | 有多表查询机制,扩展困难 | 数据之间没有耦合,容易扩展 |
持久性 | 适用持久存储,海量存储 | 不适用持久存储,海量存储 |
数据一致性 | 事务能力强,强调数据的强一致性 | 事务能力弱,强调数据的最终一致性 |