zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Redis安装与配置(一)

2023-09-27 14:25:57 时间
Redis 简介


image.png


Redis 是完全开源免费的 遵守BSD协议 是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库 并提供多种语言的API。从2010年3月15日起 Redis的开发工作由VMware主持。从2013年5月开始 Redis的开发由Pivotal赞助。(Vmware在资助着redis项目的开发和维护)


BSD是 Berkeley Software Distribution 的缩写 意思是 伯克利软件发行版 。


BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用 修改源代码 也可以将修改后的代码作为开源或者专有软件再发布。BSD代码鼓励代码共享 但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码 也允许使用或在BSD代码上开发商业软件发布和销售 因此是对商业集成很友好的协议。


Redis作者


redis的作者 他叫Salvatore Sanfilippo 来自意大利的西西里岛 现在居住在卡塔尼亚。目前供职于Pivotal公司。


image.png


地址是antirez.com 当然也可以去follow他的github 地址是http://github.com/antirez


NoSQL介绍


NoSQL 泛指非关系型的数据库。随着互联网web2.0网站的兴起 传统的关系数据库在应付web2.0网站 特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心 暴露了很多难以克服的问题 而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战 尤其是大数据应用难题。


NoSQL数据库的四大分类


键值(Key-Value)存储数据库 这一类数据库主要会使用到一个哈希表 这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候 Key/value就显得效率低下了。[3] 举例如 Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB. 列存储数据库 这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在 但是它们的特点是指向了多个列。这些列是由列家族来安排的。如 Cassandra, HBase, Riak. 文档型数据库 文档型数据库的灵感是来自于Lotus Notes办公软件的 而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档 半结构化的文档以特定的格式存储 比如JSON。文档型数据库可 以看作是键值数据库的升级版 允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。如 CouchDB, MongoDb. 国内也有文档型数据库SequoiaDB 已经开源。 图形(Graph)数据库 图形结构的数据库同其他行列以及刚性结构的SQL数据库不同 它是使用灵活的图形模型 并且能够扩展到多个服务器上。NoSQL数据库没有标准的查询语言(SQL) 因此进行数据库查询需要制定数据模型。许多NoSQL数据库都有REST式的数据接口或者查询API。[2] 如 Neo4J, InfoGrid, Infinite Graph. 因此 我们总结NoSQL数据库在以下的这几种情况下比较适用 1、数据模型比较简单 2、需要灵活性更强的IT系统 3、对数据库性能要求较高 4、不需要高度的数据一致性 5、对于给定key 比较容易映射复杂值的环境。


Redis 与其他 key - value 缓存产品有以下三个特点


Redis支持数据的持久化 可以将内存中的数据保存在磁盘中 重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据 同时还提供list set zset hash等数据结构的存储。Redis支持数据的备份 集群等高可用功能。


特点:


性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。丰富的数据类型 – Redis支持的类型 String, List, Hash, Set 及 Ordered Set 数据类型操作。原子 – Redis的所有操作都是原子性的 意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务 即原子性 通过MULTI和EXEC指令包起来。丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。


Redis是一个简单的 高效的 分布式的 基于内存的缓存工具。 架设好服务器后 通过网络连接 类似数据库 提供Key Value式缓存服务。


简单 是Redis突出的特色。 简单可以保证核心功能的稳定和优异。


Redis总结


redis单个key 存入512M大小


redis支持多种类型的数据结构(string,list,hash.set.zset)


redis 是单线程 原子性


redis可以持久化 因为使用了 RDB和AOF机制


redis支持集群 而且redis 支持库(0-15) 16个库


redis 还可以做消息队列 比如聊天室 IM


企业级开发中:可以用作数据库、缓存(热点数据 经常会被查询 但是不经常被修改或者删除的数据)和消息中间件等大部分功能。


优点 1. 丰富的数据结构


2.高速读写 redis使用自己实现的分离器 代码量很短 没有使用lock MySQL 因此效率非常高。


缺点 1. 持久化。Redis直接将数据存储到内存中 要将数据保存到磁盘上 Redis可以使用两种方式实现持久化过程。定时快照 snapshot 每隔一段时间将整个数据库写到磁盘上 每次均是写全部数据 代价非常高。第二种方式基于语句追加 aof 只追踪变化的数据 但是追加的log可能过大 同时所有的操作均重新执行一遍 回复速度慢。 2. 耗内存 占用内存过高。


Redis安装


Windows安装


https://jingyan.baidu.com/article/0f5fb099045b056d8334ea97.html


Linux安装


安装Redis


官方网站 http://redis.io/


官方下载 http://redis.io/download 可以根据需要下载不同版本


域名后缀io属于国家域名 是british Indian Ocean territory 即英属印度洋领地


Redis安装


Redis是C语言开发 安装Redis需要先将官网下载的源码进行编译 编译依赖gcc环境 如果没有gcc环境 需要安装gcc


image.png


安装gcc


gcc的安装很简单 首先要确保root登录 其次就是Linux要能连外网


yum -y install gcc automake autoconf libtool make


注意 运行yum时出现/var/run/yum.pid已被锁定,PID为xxxx的另一个程序正在运行的问题解决


rm -f /var/run/yum.pid


安装Redis


命令1


wget http://download.redis.io/releases/redis-5.0.7.tar.gz


命令2


tar xzf redis-5.0.7.tar.gz


命令3


cd redis-5.0.7


命令4 编译


make 或 make MALLOC libc


如下图代表成功

1652422810(1).png

命令5


make PREFIX /usr/local/redis install


安装编译后的文件 安装到指目录


注意 PREFIX必须大写、同时会自动为我们创建redis目录 并将结果安装此目录


命令6 cd /usr/local/redis 查看


命令7 查看bin目录下 如图


image.png

Redis启动

启动Redis服务


进入对应的安装目录 /usr/local/redis


执行命令 ./bin/redis-server


image.png


启动Redis客户端


进入Redis客服端 Clone Session克隆一个窗口


进入对应的安装目录 cd /usr/local/redis


执行命令 ./bin/redis-cli

image.png


启动Redis 客户端命令


redis-cli –h IP地址 –p 端口

退出客户端命令 Ctrl C


检测是否服务端启动


启动 redis 客户端 打开终端并输入命令 redis-cli。该命令会连接本地的 redis 服务。


$redis-cli

redis 127.0.0.1:6379 

redis 127.0.0.1:6379 PING

PONG


在以上实例中我们连接到本地的 redis 服务并执行 PING 命令 该命令用于检测 redis 服务是否启动。


Linux配置Redis


Redis 的配置文件位于 Redis 安装目录下 文件名为 redis.conf(Windows 名为 redis.windows.conf)。



TencentOS Server 配置 docker / docker-compose 一键部署 redis,rabbitmq 容器 TencentOS Server (tlinux 3.1)配置 docker,compose 工具,并一键部署多容器(redis,rabbitmq)。TencentOS Server 是腾讯公司自主研发的定制化服务器操作系统。该系统集成了众多服务 器系列的优点,加入自主研发的软件,便于用户操作使用,提供全方位(内核及用户态)的 操作系统支持...
egg对cookies,session和redis的配置操作(四) 默认情况下,当用户请求没有导致 Session 被修改时,框架都不会延长 Session 的有效期,但是在有些场景下,我们希望用户如果长时间都在访问我们的站点,则延长他们的 Session 有效期,不让用户退出登录态。框架提供了一个 renew 配置项用于实现此功能,它会在发现当用户 Session 的有效期仅剩下最大有效期一半的时候,重置 Session 的有效期。
Redis安装和相关配置 Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: - Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 - Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 - Redis支持数据的备份,即master-slave模式的数据备份。
Window下配置Redis和Elasticsearch Window下Redis和Elasticsearch的配置 (一)Window下Redis的配置 1.Redis的Window最新版下载 解压版下载解压之后的目录结构如下图所示: 2.Redis的客户
Lansonli CSDN大数据领域博客专家,华为云享专家、阿里云专家博主、腾云先锋(TDP)核心成员、51CTO专家博主,全网六万多粉丝,知名互联网公司大数据高级开发工程师