Redis入门介绍+linux安装

news2025/1/22 9:24:56

Redis是什么

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

什么是BSD协议

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

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

Nosql : not only sql 不仅仅是sql

关系型数据库  mysql Oracle sqlserver ....

Nosql数据库:非关系型数据库

关系型数据库:大数据量读写速度会很慢,而非关系型数据会很快

并发的情况下:关系型数据库对于高并发支持比较弱

Redis作者

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

github地址:antirez (Salvatore Sanfilippo) · GitHub

NoSQL介绍

NoSQL(Not Only SQL),泛指非关系型的数据库。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

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

Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

Redis同时还提供多种数据类型存储, String, list,set,zset,hash等数据结构的存储。

Redis支持数据的备份,可以做主从复制和读写分离,集群等高可用功能。

Redis特点:

性能极高 :

 Redis能读的速度是110000次/s,写的速度是81000次/s

丰富的数据类型:

Redis支持5种数据类型 String, List, Hash, Set 及 Ordered Setzset 数据类型操作

原子

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安装

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

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

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

Redis安装

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

 

  1. 安装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

命令1:下载redis安装包

方式一:

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

方式二:

去https://redis.io/download网站下载

然后使用rz命令上传到服务器上

命令2  tar -zxvf redis-4.0.14.tar.gz

 

解压后的文件

 

命令3: cd redis-4.0.14

 

命令4(编译):make MALLOC=libc       

如下图代表成功:

 

命令5:make PREFIX=/usr/local/redis install

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

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

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

 

命令7:查看bin目录下,如图:

 

启动redis

启动服务端

在bin目录下输入

./redis-server

 

看到如下界面说明启动成功

 

启动Redis客户端

重新打开一个窗口

进入到bin目录下cd  /usr/local/redis/bin

执行:./redis-cli  启动客户端程序

启动Redis 客户端命令:

退出客户端命令:Ctrl+C

执行ping可以测试服务端是否启动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/434303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【HTML5】HTML5 多媒体标签 ① ( audio 音频标签 | 音频标签常见属性值设置 | 音频标签默认代码设置 | 音频标签设置多种类型音频文件 )

文章目录 一、HTML5 多媒体标签二、音频标签三、音频标签代码示例 ( 默认操作 )四、音频标签代码示例 ( 插入 mp3 / ogg 两种格式的音频 ) 一、HTML5 多媒体标签 传统 HTML 开发中 , 如果想要向网页中嵌入音频和视频 , 需要 使用 Flash 浏览器插件才能实现 ; 在 HTML5 中 , 使…

“智慧金融”精细化客户服务+营销获客

在新兴金融产品与智能服务创新科技手段的不断推动下,我国金融行业的发展已经实现由“金融信息化”向“智慧金融”的阶级跨越。金融行业在客户服务、业务流程、业务开拓等方面已得到全方位的“数智化”提升,实现了“AI金融”客户服务、风控、营销获客的智…

基于禅道二开领导报表

上周开会的时候公司项目总监说感觉最近开发人员很轻松,工作量不饱和。支付力度不够。 做为开发负责人,对项目总监这个说法我肯定需要给予响应,不然老板也在场,后续项目想要加资源啥的都无法解释。 关注我的人知道,之前…

客流统计分析系统增强售楼处、4S店飞单管理能力

客流统计分析系统可以为售楼处和4S店提供有效的飞单管理能力,使其能够更好地管理客户信息和提高销售效率。首先,客流统计分析系统可以对售楼处和4S店的客流进行实时监控和分析。通过使用摄像头、人脸识别等技术,可以对进店的客户进行统计和分…

whisper技术导读2

1、数据处理 根据最近利用互联网上的网络规模文本来训练机器学习系统的趋势,我们采用了一种极简的方法来进行数据预处理。与语音识别方面的许多工作相比,我们训练Whisper模型在没有任何显著标准化的情况下预测转录本的原始文本,依靠序列到序列…

ffmpeg 向流媒体服务器推RTSP 流时候的 交互过程以及接收到的 RTP包解析

之前写了RTSP服务端 和客户端拉流之间的交互流程 正好最近在看流媒体服务器 中RTSP的部分 copy了下源码 编译下发现不能正常播放 借此机会 记录下rtsp推流时候和服务器交互的流程 以上是推流端向服务器推流的时候 的整个流程 之后就是媒体数据的发送了 然后在看下vlc播…

electron_笔记

创建你的第一个应用: package.json: {"name": "my-electron-app","version": "1.0.0","description": "my demo","main": "main.js","scripts": {"dev": "electr…

Mac安装和卸载node和npm

1、官网下载 访问nodejs官网,点击稳定版,并下载 https://nodejs.org/en 2、安装 双击刚下载的文件,按步骤默认安装就行 3、 验证 安装完成后打开终端 npm -vnode -v如下图出现版本信息,说明安装成功 4、环境配置 打开M…

Vue中的嵌套路由

router官网-嵌套路由 实际生活中的应用界面&#xff0c;通常由多层嵌套的组件组合而成。同样地&#xff0c;URL 中各段动态路径也按某种结构对应嵌套的各层组件&#xff0c;例如&#xff1a; <body><div id"app"><h1>欢迎使用路由导航</h1&g…

差分信号输入隔离放大转换模块PCB焊接式0-20mV/0-±10mV/0-±20mV转0-5V/0-10V/4-20mA

概述&#xff1a; IPO压力应变桥信号处理系列隔离放大器是一种将差分输入信号隔离放大、转换成按比例输出的直流信号混合集成厚模电路。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等行业。该模块内部嵌入了一个高效微功率的电源&#xff0c;向输入端和输出端…

【Java版oj】day33剪花布条、客似云来

目录 一、剪花布条 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码 二、客似云来 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码 一、剪花布条 &a…

【Unity3D日常BUG】Unity3D打包WEBGL平台运行出现无法解析gzip、构建压缩等问题

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 在Unity3D中打包WEBGL运行出现这样的错误&#xff1a; 具体分…

第3章 高可用负载均衡集群规划

作者&#xff1a;田逸&#xff08;formyz&#xff09; 开篇之初&#xff0c;先举几个反例&#xff0c;来说明事前规划的重要性。 案例一&#xff1a;某广告媒体公司&#xff0c;需要部署一套媒体播放系统&#xff0c;由一台应用服务器和一台数据库服务器组成&#xff0c;让人没…

考研二战上岸上海交通大学电院(819)

笔者来自通信考研小马哥23上交819全程班学员 此文记录过去两年的考研经历以及介绍个人考研经验。方法不一定适合所有人&#xff0c;每个人都有适合自己的学习方式&#xff0c;这篇帖子我可能写的比较长也说的比较具体&#xff08;啰嗦&#xff09;&#xff0c;大概8000多字&am…

Qt Style Sheets Examples整理

文章目录 样式表用法使用动态属性自定义使用Box模型自定义QPushButton自定义QPushButton的菜单指示子控件复杂选择器完整代码&#xff1a; 特定部件样式表QAbstractScrollAreaQCheckBoxQComboBoxQDockWidget 原文地址&#xff1a;https://doc.qt.io/qt-6/stylesheet-examples.h…

Golang 泛型介绍

泛型介绍 泛型是一种编写独立于所使用的特定类型的代码的方法。现在可以编写函数和类型(Functions and types)来使用一组类型中的任何一种。 泛型为语言添加了三个重要的东西: 1 函数和类型的类型参数。2 将接口类型定义为类型集&#xff0c;包括没有方法的类型。3 类型推断…

五项热门技术领域和应用场景

介绍五种当下比较热门的技术&#xff0c;分别是人工智能、云计算、数据分析、微服务和区块链。每种技术都有自己的定义、子领域、应用场景和学习难度。这些技术都有着广阔的发展前景和市场需求&#xff0c;对于想要从事或了解这些领域的人来说&#xff0c;都是很有价值的知识。…

【react 全家桶】初始化脚手架

本人大二学生一枚&#xff0c;热爱前端&#xff0c;欢迎来交流学习哦&#xff0c;一起来学习吧。 <专栏推荐> &#x1f525;&#xff1a;js专栏 &#x1f525;&#xff1a;vue专栏 &#x1f525;&#xff1a;react专栏 文章目录 10 【初始化脚手架】1.什么是 React 脚…

时序数据的内存服务

说明 既要坚定锻炼成熟架构的道路&#xff0c;也要在合理的范围内重塑设计 计算时序数据的特征&#xff0c;少不了“Rolling”类的操作。过去&#xff0c;直接采用pandas进行rolling&#xff0c;效率很不错&#xff0c;但是在实战应用时不太行。 反思下来&#xff1a;离线的操…

Linux --- 软件安装、项目部署

一、软件安装 1.1、软件安装方式 在Linux系统中&#xff0c;安装软件的方式主要有四种&#xff0c;这四种安装方式的特点如下&#xff1a; 1.2、安装JDK 上述我们介绍了Linux系统软件安装的四种形式&#xff0c;接下来我们就通过第一种(二进制发布包)形式来安装 JDK。 JDK…