ToB企服应用市场:ToB评测及商务社交产业平台

标题: Redis远程字典服务器(1)—— 初识Redis [打印本页]

作者: 丝    时间: 2024-8-14 18:49
标题: Redis远程字典服务器(1)—— 初识Redis
目录
一,关于Redis
二,Redis特性先容
2.1 In-memory data structures(在内存中存储数据)
2.2 Programmablilty(编程能力)
2.3 Extensibility(扩展能力)
2.4 Persistence(长期化)
2.5 Clustering(集群)
2.6 High availability(高可用)
三,Redis应用场景
3.1 Real-time data store(实时的数据存储)
3.2 session storage(会话存储)
3.3 Streaming & messaging(消息队列)
四,Redis为什么快?
五,在Linux上安装Redis
六,Redis客户端先容


一,关于Redis

Redis是一个和MySQL一样的“客户端 - 服务器” 布局的程序,Redis客户端和服务器可以在同一个主机上,也可以在差别主机上。
Redis是一个能在内存中存储数据的中间件,可以用作数据库,也可以用作数据缓存,在分布式系统中能大展拳脚
二,Redis特性先容

2.1 In-memory data structures(在内存中存储数据)

MySQL主要是通过“”的方式来存储和构造数据的,称为“关系型数据库”。
而Redis主要是通过“键值对”的方式来存储构造数据的 --> key是string,value可以是其它的数据布局 --> 称为“非关系型数据库”。
2.2 Programmablilty(编程能力)

针对Redis的操纵,我们可以直接通过简单的交互式命令举行操纵,也可以通过一些脚本的方式,批量执行一些操纵 --> Lua语言,也是编程语言
2.3 Extensibility(扩展能力)

我们可以在Redis原有的功能基础上,再举行扩展,Redis提供了一组API(C,C++,Rust,通过这几个语言编写Redis扩展,本质上就是一个动态链接库)
除了它提供的API,我们可以去本身扩展Redis的功能,比如Redis自身提供了很多的数据布局和命令,通过扩展可以让Redis可以支持更多的数据布局和命令
2.4 Persistence(长期化)

Redis是把数据放在内存上的,这样就可以快速访问而内存上的数据是易失的,历程退出/系统重启等等事件都会使内存没了。
以是Redis会把部门数据存储在硬盘上,内存为主,硬盘为辅,硬盘相当于备份内存数据,如果Redis重启,就会在重启时加载硬盘数据到内存。
2.5 Clustering(集群)

Redis作为一个分布式系统的中间件,能够支持集群是很关键的
一个Redis存储的数据是有限的,内存也是有限的,就可以引入多个服务器,摆设多个Redis节点,每个节点存储数据的一部门
2.6 High availability(高可用)

Redis自身也支持主从布局的,从节点相当于主节点的备份,保证系统的可用性(主节点挂了,从节点也能顶上,这个过程是自动的)
三,Redis应用场景

3.1 Real-time data store(实时的数据存储)

3.2 session storage(会话存储)

3.3 Streaming & messaging(消息队列)

四,Redis为什么快?

五,在Linux上安装Redis

下面展示在Ubuntu环境上安装Redis客户端和服务器,并启动服务器再让客户端连接上服务器
  1. sudo apt install redis
复制代码
 如果是Centos,就八上面的apt换成yum即可

然后就是修改下设置文件,因为Redis是基于网络的,以是设置文件会默认将Redis的连接IP设为127.0.0.1,我们必要修改成0.0.0.0,表示该服务器可以支持任何其它IP来举行连接
  1. vim /etc/redis/redis.conf
复制代码
 修改完成后我们直接启动redis服务器(都必要root权限)
  1. sudo service redis-server start
复制代码

也可以输入这个,查看服务状态,里面有的active,表示正常运行 
  1. service redis-server status
复制代码
 
 然后就是用客户端连接服务器,直接在命令行输入 redis-cli 即可;进入到客户端以后,输入ping,如果打印PONG,表示客户端正常运行。

然后我们也可以在其它主机上利用特定IP和端口来连接Redis服务器,如下图:
 

六,Redis客户端先容

Redis也是一个客户端-服务器 布局的程序,MySQL也是这样,redis客户端和服务器可以在同一个主机上,也可以在差别主机上。并且服务器可以给多个客户端提供服务,Redis服务器是本体,负责存储和管理数据
Redis也有很多形态:

咱们说Redis快,是相对于MySQL这样的关系型数据库的,但是如果是和内存中的操纵变量相比,就没有优势了,乃至更慢。
比如我要存一个键值对,可以用redis来存,也可以直接在内存中搞个hash map来存,但是利用hash map是直接操纵内存,利用redis是先通过“网络”,再操纵内存的。
以是,是否要利用redis是必要结合实际业务的,引入redis会变慢,但是可以把数据单独存储,服务器重启不会影响到数据内容,假设未来要扩展分布式系统,利用redis是最佳的

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4