首页 > 数据库 >明解Redis(一)概述

明解Redis(一)概述

时间:2023-03-09 20:35:12浏览次数:159  
标签:启动 Redis 明解 redis 密码 概述 https com

在这里插入图片描述

一、Redis简介

Redis全称为 Remote Dictionary Server(远程词典服务),开源(BSD许可)的,使用 C 语言开发的。

Redis是内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。

支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。

内置了复制,LUA脚本,LRU驱动事件,事务和不同级别的磁盘持久化,并通过Redis哨兵和自动分区提供高可用性。

1、Redis背景

Redis的开发作者是一名意大利的程序员,名字为Salvatore Sanfilippo(网名:antirez)

image.png
Salvatore 最初创建 Redis 是为了扩展实时日志分析工具LLOOGG ;早先LLOOGG是基于MySQL的,MySQL的数据是存在磁盘的,存在I/O性能瓶颈,这促使Salvatore编写一个内存型数据库。
16691213710303018083ffy

让基本的 Redis 服务器运行之后,他决定与其他人分享这项工作,在2009年将Redis正式开源。

2、Redis特性

  • 速度快、性能高

    • 基于内存
    • 命令执行单线程,避免了不必要的上下文切换及竞争条件
    • key-value 存储,底层数据结构加持
    • IO多路复用
    • 多线程 IO 模型
    • 支持 Pipelining 命令,可一次发送多条命令来提高吞吐率,减少通信延迟
  • 原子操作

  • 丰富的数据结构,针对value的

    • String(字符串)
    • List(链表)
    • Set(集合)
    • Zset(sorted set --有序集合)
    • Hash(哈希类型)
    • Bitmaps:一般用于大数据量的二值性统计,比如签到、打卡
    • HyperLogLog:用于对数据量超级庞大的日志做去重统计
    • Geospatial:地理空间,其主要用于地理位置相关的计算
    • Stream:可实现简单的消息中间件的功能(publish/subscribe)
  • 提供了众多个性化功能

    • 慢查询分析
    • 性能测试
    • Pipeline
    • 简单事务
    • Lua脚本扩展
    • 发布/订阅
  • 持久化

  • 主从复制

  • 高可用、分布式集群

  • 客户端语言广泛

3、Redis网站

官方文档:https://redis.io/

中文参考:

作者博客:http://antirez.com/latest/0

二、Redis安装

前置环境:gcc编译器

yum -y install gcc automake autoconf libtool make

官网步骤:https://redis.io/docs/getting-started/installation/

下载地址:https://redis.io/download/

Redis是C语言开发的,需要进行安装,安装方式在README.MD中即可找到!

wget https://download.redis.io/releases/redis-7.0.4.tar.gz
tar xzf redis-7.0.4.tar.gz
cd redis-7.0.4/

# 编译,make会找本目录下的MakeFile文件,成功后src下会生成可执行文件
make
# 安装到指定目录之后,可以看到对应的目录下只有执行文件,就不和源码混在一起
make install PREFIX=/opt/redis7

Redis编译安装完成之后,会生成几个可执行文件,分别具有不同的作用,我们现在先简单了解下,之后我们陆续会进行介绍!

image.png

image.png

Redis编译安装完成之后,我们还可以对其配置一个环境变量,以后启动Redis就会变得较为方便一些!

# 配置环境变量
vi /etc/profile

export REDIS_HOME=/opt/redis7
export PATH=$PATH:$REDIS_HOME/bin

# 刷新环境变量
source /etc/profile

#查看环境变量
echo $PATH

Redis官方并没有提供支持Windows环境下的安装包,生产环境下基本也都是Linux服务器为主!

官方虽然没有提供Windows版本的Redis,但是有一些爱搞事情的开发者对其做了维护!

Windows环境下安装:https://github.com/zkteco-home/redis-windows

三、启动服务

1、默认前台启动

在任意目录执行 redis-server 命令即可启动 Redis,但是这种启动方式会阻塞当前命令行窗口!
image.png

再开一个窗口查看Redis进程:ps -ef | grep redis

通过 Ctrl + C 可以停止 Redis!

image.png

2、命令式后台启动

使用 nohub 命令,末尾再添加一个&符,可以使要启动的程序在后台以守护进程方式运行。

image.png

这样的好处是,进程启动后不会占用一个会话窗口,且其还会在当前目录,即运行启动命令的当前目录中创建一个 nohup.out 文件用于记录 Redis 的操作日志。

停止Redis服务

redis-cli shutdown
image.png

3、配置式后台启动

1)修改Redis编译安装目录下的redis.conf配置文件,最好先复制一份!

image.png

2)修改配置

image.png

3)启动Redis

image.png

4、配置Linux服务启动

我们还可以将Redis配置成一个对应的服务,只需要执行Redis源码目录下的utils下 install_server.sh 脚本即可!

如果执行的时候有报如下的错误:

image.png

这时候我们只需要将脚本文件打开,将里面报错的文本内容注释掉即可!

image.png

这时候我们再次执行 install_server.sh 脚本,即可看到以下的界面:

这里我们先选择默认端口,也可以自己进行端口配置!

一个物理机可以有多个Redis进程,通过端口号进行区分!

可执行程序就一份,但内存中如果存在多个实例需要有各自的配置文件、持久化目录等资源

image.pngimage.png

查看服务状态:service redis_6379 status

关闭/启动Redis服务:service redis_6379 stop/start

查看Redis进程:ps -ef | grep redis

image.png

四、Redis客户端

1、本地命令行工具访问

本地命令行客户端的工具为 redis-cli

基本格式:redis-cli -h (host}-p {port}

  • -h:指定要连接的 Redis 服务器的 IP
  • -p:指定要连接的 Redis 的端口号

image.png

若连接的是本机 Redis,且端口号没有改变,保持默认的 6379,则-h 与-p 选项可以省略掉!

#在这种状态下,会把get获取的16进制xshell的编码显示;比如显示“中”,而不是16进制
redis-cli --raw

image.png

设置密码

Redis可以设置访问密码,可以对用户进行身份验证。没有密码的用户可以登录 Redis,但无法访问!

访问密码的设置位置在 redis.conf 配置文件中。默认是被注释掉的,没有密码。image.png

image.png

没有进行密码验证的用户,无法对Redis进行读、写!

image.png

对于密码的使用,有两种方式:

  1. 登录时未使用密码,则访问时先输入密码;

image.png

  1. 登录时直接使用密码登录,访问时无需再输入密码!

image.png

image.png

2、远程图形化工具访问

前置配置

远程客户端连接之前我们要针对做一些配置,使远程主机上的客户端能够连接并访问到服务端的 Redis。

  • IP绑定

image.png

还可以配置成bind 0.0.0.0 表示可以和所有的IP进行绑定!

  • 关闭保护模式

默认开启保护模式,其只允许本机的客户端访问。但生产中应该关闭,以确保其它客户端可以连接 Redis。

image.png

标签:启动,Redis,明解,redis,密码,概述,https,com
From: https://www.cnblogs.com/hanyu-2020/p/17201299.html

相关文章

  • Redis服务搭建
    一、服务搭建1、安装gcc套装yuminstallcppyuminstallbinutilsyuminstallglibcyuminstallglibc-kernheadersyuminstallglibc-common......
  • Linux安装redis
    1、先去官网下载redis的压缩包  2、redis是基于C语言编写的,需要安装gcc依赖yuminstall-ygcctcl3、编译redis3.1在linux新建目录将redis解压#新建目录mk......
  • java-IO-File类概述和构造方法
         ......
  • docker搭建Redis服务、主从复制、哨兵模式、Cluster模式
    本篇介绍使用docker搭建简单的Redis服务以及搭建Redis服务的三种模式主从复制、哨兵模式、Cluster模式1.搭建简单的Redis服务port7006#端口号cluster-enabledyes......
  • java collections的概述和使用
      ......
  • Redis基本数据类型
    Redis数据类型Redis与其他Key-Value型数据库相比,支持更多的数据类型,如string、hash、list、set、zset。类型简介特性场景String二进制安全可以包含任何数据......
  • 第01章_Java语言概述
    吾心安处即吾乡。吾乡何处不可眠1.Java知识脉络图1.1Java基础全程脉络图1.2本章专题与脉络2.抽丝剥茧话Java吾心安处即吾乡。吾乡何处不可眠2.1当前大......
  • 聊聊游戏业务怎么用高斯Redis
    摘要:其实游戏客户对数据库的诉求是很明确的,数据库应当“放心存放心用”。本文分享自华为云社区《华为云GaussDB(forRedis)揭秘第27期:聊聊游戏业务怎么用高斯Redis》,作者:......
  • redis列表 hash 其他操作 redis管道
    目录回顾redis之列表redis之hashredis其他操作redis管道Django中使用redis方式一:自定义包方案(通用的,不针对于框架,所有的框架都可以用)方式二:Django方案方案一(推荐使用):Dj......
  • Redis 的Java客户端——Jedis连接池的使用详解
    一.Redis的Java客户端jedis的官方仓库地址:https://github.com/redis/jedisRedis数据结构Redis是一个key-value的数据库,key一般是String类型,不过value的类......