Redis入门与应用(1)

Redis的技术全景

Redis是一个开源的基于键值对(Key-Value)的NoSQL数据库,使用ANSI C语言编写,支持网络,基于内存但支持持久化。它性能优越,并提供多种语言的API。我们可以将Redis视为一个巨大的Map,对Map的操作就是get和put,通过key操作这个key所对应的value。Redis提供了多种数据结构,例如字符串(String)、哈希(Hash)等。

理解Redis的关键是建立一套完整的知识框架。Redis的知识体系可以分为两大维度和三大主线。

Redis知识体系

两大维度
  1. 应用维度: Redis的主要应用场景包括缓存、排行榜系统、计数器应用、社交网络和消息队列系统。
  2. 底层原理维度: 了解Redis的底层数据结构和工作原理。
Redis应用场景
  1. 缓存: 提高数据访问速度,降低后端数据源压力。Redis提供键值过期时间设置、内存控制和淘汰策略。
  2. 排行榜系统: 使用列表和有序集合构建各种排行榜系统。
  3. 计数器应用: 实时计数,性能优越,适用于视频网站的播放数、电商网站的浏览数等。
  4. 社交网络: 实现赞/踩、粉丝、共同好友/喜好、推送、下拉刷新等功能。
  5. 消息队列系统: 提供发布订阅和阻塞队列功能,适用于业务解耦和非实时业务削峰。
三大主线
  1. 高性能: 包括线程模型、数据结构、持久化、网络框架。
  2. 高可靠: 包括主从复制、哨兵机制。
  3. 高可扩展: 包括数据分片、负载均衡。

掌握三大主线可以解决Redis在数据结构、内存、持久化和网络方面的问题。

Redis的版本选择与安装

Redis版本号第二位为奇数的是非稳定版本,如2.7、2.9、3.1;版本号第二位为偶数的是稳定版本,如2.6、2.8、3.0。一般来说,奇数版本是下一个稳定版本的开发版本。

Redis的安装非常简单,可以从Redis官网(Download | Redis)下载对应版本,安装命令如下:

wget https://download.redis.io/releases/redis-6.2.7.tar.gz
tar xzf redis-6.2.7.tar.gz
cd redis-6.2.7/
make
make install PREFIX=/home/lijin/redis/redis
安装常见问题
  1. 缺少gcc: 执行yum -y install gcc automake autoconf libtool make安装gcc。
  2. 缺少jemalloc: 执行make MALLOC=libc使用libc分配器。

Redis的启动

Redis编译完成后,会生成几个可执行文件,如redis-server和redis-cli。Redis有三种启动方式:默认配置、带参数启动、配置文件启动。

默认配置

在bin目录下直接输入./redis-server启动Redis,使用默认配置。

带参数启动

使用redis-server加上要修改配置名和值。例如,使用6380端口启动Redis:

./redis-server --port 6380
配置文件启动

配置文件启动是最常用的方式,配置文件可以方便地修改端口、配置和增加密码。

./redis-server ../conf/redis.conf

通过配置文件启动可以自定义多种配置项,如修改端口、设置密码等。

# 例:设置密码
requirepass yourpassword

以上是Redis的入门与应用,包括技术全景、应用场景、版本选择与安装以及启动方式。理解这些内容将帮助你更好地掌握Redis并应用到实际项目中。

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

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

相关文章

《Java面试题集中营》- Java并发

《Java并发编程的艺术》、《Java并发编程之美》 运行中的线程能否强制杀死 Jdk提供了stop()方法用于强制停止线程,但官方并不建议使用,因为强制停止线程会导致线程使用的资源,比如文件描述符、网络连接处于不正常的状态。建议使用标志位的方…

秋招突击——第九弹——Redis缓存

文章目录 引言正文缓存基础旁路缓存模式(重点)读穿透(了解)写穿透(了解)异步缓存写入模式面试重点 缓存异常场景缓存穿透缓存击穿缓存雪崩面试重点 缓存一致性怎么保证?缓存一致性问题是什么方案…

[职场] 策略运营求职简历范文精选 #知识分享#微信#微信

策略运营求职简历范文精选 策略运营是用户运营的一种模式,主要针对于用户量级在千人到百万人规模的运营。下面是策略运营求职简历范文精选,供大家参考。 个人信息 姓名:蓝山 年龄:33岁 地址:北京 工作经验&#x…

C++STL梳理

CSTL标准手册: https://cplusplus.com/reference/stl/ https://cplusplus.com/reference/vector/vector/at/ 1、STL基础 1.1、STL基本组成(6大组件13个头文件) 通常认为,STL 是由容器、算法、迭代器、函数对象、适配器、内存分配器这 6 部分构成&…

JS延迟加载的方式有哪些

JavaScript延迟加载(也称为懒加载)是一种优化网页性能的技术,它允许脚本在页面加载完成后再执行,从而加快页面初始加载速度。 以下是几种常见的JavaScript延迟加载方式: 异步加载(async): 使用a…

信息检索(54):On the Effect of Low-Frequency Terms on Neural-IR Models

On the Effect of Low-Frequency Terms on Neural-IR Models 摘要1 引言2 背景和相关工作3 实验设计4 词汇量的影响5 包含低频词的查询6 结论 发布时间(2019) 低频词对于神经检索模型的影响 摘要 低频词是信息检索模型面临的一个反复出现的挑战&#…

Java代码如何优化的?

1、单一职责 2、注释 3、公共类/方法抽离 4、单元测试 5、SQL优化 6、代码reviewe 7、库存以前是直接操作数据库--->lua 8、日志----->ELK

机器学习python实践——关于数据集划分和数据标准化的相关问题的思考

最近在跟着参考书利用python进行机器学习实践,但是在实践过程中对数据集划分和数据的标准化产生了一些疑惑,所以,本文想记录并分享一下个人关于这方面的思考,如果有误请见谅,欢迎大家前来一起进行探讨。当然&#xff0…

icloud 邮箱登入失败

APP NAME mail2HOSTING APP NAME cloudos2CLIENT TIME Tue Jun 11 2024 09:00:47 GMT0800 (中国标准时间) (1718067647802)USER AGENT Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36HOSTNAME www.icloud.…

使用阿里开源的Spring Cloud Alibaba AI开发第一个大模型应用

背景 前段时间看到Spring推出了SpringAI,可以方便快速的接入ChatGPT等国外的大模型,现在阿里巴巴也紧追脚步推出了Spring Cloud Alibaba AI,Spring Cloud Alibaba AI 目前基于 Spring AI 0.8.1 版本 API 完成通义系列大模型的接入。通义接入…

自定义npm脚本:打造你的package.json自动化神器

自定义npm脚本:打造你的package.json自动化神器 在JavaScript和Node.js的世界中,npm不仅仅是一个包管理器,它还是一个强大的自动化工具。通过package.json文件中的自定义npm脚本,你可以将日常开发任务自动化,从而节省…

常用框架-MyBatis

常用框架-MyBatis 1、MyBatis是什么?2、说说MyBatis的优点和缺点?3、#{}和${}的区别是什么?4、实体类的属性名和表中的字段名不一致怎么办?5、Mybatis是如何进行分页的?分页插件的原理是什么?6、Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?7、…

Zookeeper 二、Zookeeper环境搭建

Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式 单机模式:Zookeeper只运行在一台服务器上,适合测试环境集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”…

【Spine学习15】变换约束

变换约束:能让一个骨骼受另一个骨骼的变化影响。 1、选择m创建一个变换约束: 2、点击这个约束, 将移动数值拉的越满,m越接近s骨骼 当约束为0也就是默认的时候,m骨骼将不会受影响,变换约束可有可无。 tips…

Mysql简述

Java - sql语句学习 sql分类 sql语句 sql数据类型

26、架构-微服务的九个核心特征

1. 围绕业务能力构建 定义:微服务应该根据业务功能划分,而不是根据技术层次或模块划分。 详细讲解: 业务能力:每个微服务应该专注于完成一个具体的业务功能,例如用户管理、订单处理、支付处理等。这样,每…

《数字图像处理》实验报告一

一、实验任务与要求 1、用 matlab 编写空间域点处理操作处理给定的几幅图像,要求: 使用 imread 读取当前工作目录下的图像设计点处理操作并用代码实现处理用 imnshow 显示处理后的图像用 imwrite 保存处理后的图像 2、提交内容:m文件 实验…

ARM单片机使用CAN总线部署BootLoader

1.引言 1.1.单片机开发BootLoader意义 单片机开发BootLoader的原因主要与其在嵌入式系统中的关键作用有关。BootLoader是硬件启动的引导程序,它在操作系统内核或用户应用程序运行之前执行。以下是单片机开发BootLoader的主要原因: 初始化硬件设备&…

算法设计与分析:并查集法求图论桥问题

目录 一、实验目的 二、问题描述 三、实验要求 四、算法思想 1. 基准算法 1.1 算法思想 1.2 代码 1.3 时间复杂度 2. 使用并查集的高效算法 2.1 算法思想 2.2 代码: 2.3 时间复杂度: 五、实验结果 一、实验目的 1. 掌握图的连通性。 2. 掌…

高速公路安全新防线:护栏碰撞监测终端的应用与价值

​ ​​在现代化的高速公路管理体系中,安全始终放在第一位。随着道路上车辆密度的不断增加升,交通事故的风险也随之加剧,其中,护栏碰撞事故更是成为影响公路安全的一大隐患。为了有效减少此类事故的负面影响,提升应…