Redis介绍及安装配置

news2024/11/18 13:41:07

1 什么是Redis

Redis 的定义:Redis(Remote Dictionary Server 远程字典服务)是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型Key-Value数据库,并提供多种语言的API。

可见Redis和我们最经常使用的MySQL都是数据库(database),MySQL相较于Redis是很慢的,毕竟是持久化到硬盘中。而Redis是比较快的官方给出的数字是读写性能可以达到 10 万 / 秒。之所以比较快大概可以归结为如下几点:

  • Redis的所有数据都是放在内存上执行的;
  • Redis使用C来实现的,C语言实现的操作系统“距离”操作系统更近,执行速度理当更快;
  • Redis使用了单线程,预防了多线程可能会产生的竞争问题。(
    Redis 在 6.0 版本引⼊了多线程机制,但主要也是在处理⽹络和 IO,不涉及到数据命令,即命令的执⾏仍然采⽤了单线程模式。
  • 从网络角度来看,Redis使用I/O多路复用(一个线程管理很多socket)
  • Redis的核心功能都是比较简单的逻辑,核心功能都是操作内存的数据结构

因此redis被广泛应用于缓存,另外,Redis也经常用于做分布式锁。除此之外,Redis支持事务、持久化、LUA 脚本、LRU 驱动事件、多种集群方案。

Redis一般用于分布式系统,在分布式系统中才能很好的发挥威力。如果只是单机程序,直接通过变量存储数据也是存放于内存中的。而Redis就是在分布式系统中,为不同的客户端提供存放于内存中的数据。Redis基于网络将自己内存中的数据给别的进程,甚至别的主机进行使用。

2 Ubuntu安装Redis

Redis 的官⽅并不⽀持微软的 Windows 操作系统,因为 Redis 的许多特性都是和操作系统相关的,所以⽀持 Windows 会增加维护成本,⽽且更重要的是⼤部分公司都在使⽤ Linux 操作 系统,Redis 在 Linux 操作系统上的表现已经得到实践的证明。

1. 使用 apt 命令安装 redis

apt install redis

2. 输入命令检验是否安装成功

netstat -anp | grep redis

出现以下界面,则说明安装成功

3. 简单使用

 直接输入redis-cli通过本地客户端来测试连接,正常情况下返回ping的对应值PONG
我们存放一个key,然后去读取:
我们现在是在本地客户端使用的Redis,但是实际开发中我们肯定是需要在远程来访问Redis服务器的,就像MySQL那样,我们需要通过修改配置文件来设置远程连接。

3. 设置远程连接

1. 找到 redis.conf 文件

cd /etc/redis/
ll

redis.conf 这个是 redis 的配置文件,这里就包含了 redis 相关功能的配置内容。

2. 将 redis.conf 中的 “bind 127.0.0.1”注释掉;
3. 将 redis.conf 中的“protected-mode yes” 改为“protected-mode no”;

4.修改配置文件后重启服务

service redis-server restart

 5.查看当前 redis 服务器的运行状态,看是否成功

service redis-server status

最后别忘记打开服务器的Redis端口号 6379

在win安装可视化工具后连接远程Redis服务器,可以看到我们刚才存入的testname:tom

 

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

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

相关文章

动态规划之买卖股票大集合

目录 引言 1.只能进行一次买卖股票(最多只能买一股股票) 2.可以进行多次股票买卖,且没有手续费(最多只能买一股股票) 3.可以进行多次股票买卖,但是有冷冻期,无手续费(最多只能买一…

Firefox浏览器网页上的按钮点击无效解决办法

我在github下点下载经常不好使,查了原因,原来是浏览器的问题。在Firefox浏览器的设置里面,去掉一些cookies的禁用即可。之后,就可以点击按钮成功响应了。

智能跳绳的产品体验与思考(一)

我,虽称不上跳绳高手,却对这项运动怀有深厚的热爱,也曾在某电商平台上选购过一款智能跳绳,希望能借此提升我的跳绳技巧。今天,咱们就来聊聊我和这条绳子的发生的一些故事,外加我的一些思考。 此刻&#xf…

NDIS协议驱动(四)

NDIS 定义对象标识符 (OID) 值,以标识适配器参数,其中包括设备特征、可配置设置和统计信息等操作参数。 协议驱动程序可以查询或设置基础驱动程序的操作参数。 NDIS 还为 NDIS 6.1 及更高版本的协议驱动程序提供直接 OID 请求接口。 直接 OID 请求路径支…

Java-文件操作

一、创建文件 1.创建文件夹 创建文件夹时,注意两个条件,该路径对应的是否为目录(dir),该文件夹是否存在。 File Apathnew File("./文件夹A"); //当前路径文件夹的存储路径if(!Apath.exists() &&am…

【研0深度学习】李宏毅2024春《生成式人工智能导论》持续更新...

文章目录 第1讲 什么是生成式人工智慧?第2讲 今日的生成式人工智慧厉害在哪里?第3-5讲 训练不了人工智慧,你可以训练你自己(在不训练模型的情况下强化语言模型的方法)第6讲 大模型修炼史——第一阶段 自我学习 累计实力…

ROS2入门21讲__第08讲__话题:节点间传递数据的桥梁

目录 前言 通信模型 发布/订阅模型 多对多通信 异步通信 消息接口 案例一:Hello World话题通信 运行效果 发布者代码解析 程序实现 流程总结 订阅者代码解析 程序实现 流程总结 案例二:机器视觉识别 运行效果 发布者代码解析 订阅者代…

WebGL学习(一)渲染关系

学习webgl 开发理解渲染关系是必须的,也非常重要,很多人忽视了这个过程。 我这里先简单写一下,后面尽量用通俗易懂的方式,举例讲解。 WebGL,全称Web Graphics Library,是一种在网页上渲染3D图形的技术。它…

FPGA时钟:驱动数字逻辑的核心

一、引言 在FPGA(现场可编程门阵列)设计中,时钟信号是不可或缺的关键要素。时钟信号作为时序逻辑的心跳,推动着FPGA内部各个存储单元的数据流转。无论是实现复杂的逻辑运算还是处理高速数据流,都需要精确的时钟信号来保…

CASS11自定义宗地图框

1、找到CASS11的安装路径,找到如下文件夹: 2、打开【report】文件夹,如下: 3、打开其中一个压缩包,如【标准宗地图】压缩包,结果如下: 4、打开后,将其另存为到桌面,随后关…

Leetcode621. 任务调度器

Every day a Leetcode 题目来源:621. 任务调度器 类似题目:1953. 你可以工作的最大周数 解法1:贪心 本质上来说,我们需要构造一个尽量短的,相同元素间隔 > (n1) 的序列。 用一个数组 cnt 统计每个任务的次数。…

Oracle创建用户时提示ORA-65096:公用用户名或角色名无效

Oracle创建用户时提示“ORA-65096:公用用户名或角色名无效” 如下图所示: 解决方法:在新增用户名前面加上C##或者c##就可以解决无效问题,具体什么原因还不清楚,需要再研究一下。

Discourse 安装后安全配置考虑

防火墙 防火墙是肯定要装机器上的,并且端口只开放了 443 和 22。 22 的端口还只限制了部分 IP 段的访问,通常只允许给内部网络的 SSH。 Web 服务应该只走 443,80 端口的做好自动重定向到 443。 CloudFlare 可以用一个 CloudFlare 的负载…

行为设计模式之状态模式

文章目录 概述定义结构图 2.代码示例小结 概述 定义 状态模式(state pattern)的定义: 允许一个对象在其内部状态改变时改变它的行为。 对象看起来似乎修改了它的类。 状态模式就是用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题.。状态模式将一个对象的状态…

QtCreator调试运行工程报错,无法找到相关库的的解决方案

最新在使用国产化平台做qt应用开发时,总是遇到qtcreator内调试运行 找不到动态库的问题,为什么会出现这种问题呢?明明编译的时候能够正常通过,运行或者调试的时候找不到相关的库呢?先说结论,排除库本身的问…

基于tensorflow的咖啡豆识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、前期工作 1. 设置GPU import tensorflow as tfgpus tf.config.list_physical_devices("GPU")if gpus:tf.config.experimental.set_memory_gr…

远程桌面连接--“发生身份验证错误。要求的函数不受支持”

出现身份验证错误 要求的函数不受支持的问题,可以通过以下几种方法尝试解决:12 对于Windows 10家庭版用户,需要修改注册表信息。具体步骤如下: 按下WIN R,输入regedit,点击确定,打开注册表编辑…

openresty(Nginx) 隐藏 软包名称及版本号 升级版本

1 访问错误或者异常的URL 2 修改配置,重新编译,升级 #修改版本等 vim ./bundle/nginx-1.13.6/src/core/nginx.h #define nginx_version 1013006 #define NGINX_VERSION "1.13.6" #define NGINX_VER "openresty/&q…

python中的-1是什么意思

python中的-1是什么意思? -1指的是索引,即列表的最后一个元素。 比如你输入一个列表: a = [1,2,3,4,5,6,7] a[-1]就代表索引该列表最后一个值,你可以 b a[-1] print(b) 结果如下: 7 索引从左往右是…

5.28学习总结

java复习总结 hashcode()和equals() hashcode():在Object里这个方法是通过返回地址的整数值来生成哈希值。 equals():在Object里这个方法是通过比较他们的内存地址来确定两个对象是否相同。 运行效率:hashcode的时间复杂度为O(1)(因为只要计算一次哈…