Redis入门介绍+linux安装

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

Redis是什么

Redis 是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存可持久化的日志型、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可以测试服务端是否启动

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
17天前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
176 73
|
16天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
15天前
|
Ubuntu Linux Shell
Linux系统命令 安装和文件相关命令
本文档详细介绍了Linux系统中的常用命令,包括软件安装卸载命令如`dpkg`和`apt-get`,压缩与解压命令如`gzip`、`bzip2`和`xz`,以及`tar`命令用于打包和解包。此外还介绍了文件分割命令`split`,文件操作命令如`cat`、`head`、`tail`、`more`、`less`等,管道命令和`wc`、`grep`、`find`、`cut`、`sort`、`uniq`、`diff`等实用工具。最后,文档还讲解了文件属性相关的命令如`chmod`、`chown`、`chgrp`以及创建硬链接和软链接的`ln`命令。
|
15天前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
|
21天前
|
Linux TensorFlow 算法框架/工具
在Linux上安装其他版本的cmake 或 升级cmake
在Linux上安装其他版本的cmake 或 升级cmake
32 2
|
21天前
|
人工智能 Linux 开发工具
Linux安装Taiyi stable-diffusion-webui
Linux安装Taiyi stable-diffusion-webui
|
22天前
|
Ubuntu Linux 虚拟化
安装Windows Linux 子系统的方法:适用于windows 11 版本
本文提供了在Windows 11系统上安装Linux子系统(WSL)的详细步骤,包括启用子系统和虚拟化功能、从Microsoft Store安装Linux发行版、设置WSL默认版本、安装WSL2补丁,以及完成Ubuntu的首次安装设置。
64 2
|
24天前
|
NoSQL Redis 数据安全/隐私保护
深入探索利用Docker安装Redis
【8月更文挑战第27天】
59 2
|
26天前
|
关系型数据库 Linux PostgreSQL
【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误
【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误
|
26天前
|
存储 安全 Linux
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?

热门文章

最新文章