• Redis Redis介绍、安装 - Redis客户端


    目录

    redis是什么,他的应用场景是什么?

    Redis的一些主要特点和应用场景:

    redis的官方网站:Redis

    redis是键值型数据库:(也就是key-value模式)(跟python的字典很像)

    认识NoSQL 

    SQL和NoSQL的区别

    数据库结构之间的区别

    数据库关联之间的区别

    SQL查询和非SQL查询的区别

    事务上的差异

    总结

    认识Redis

    特征:

    一、安装Redis

    1、单机安装Redis(linux安装 -- Centos7.9)

    1.1、安装Redis依赖(Redis是基于C语言编译的,因此首先需要安装Redis所需的gcc依赖)

    1.2、将下载好的redis安装包上传到/usr/local/src目录下

    1.3、解压redis安装包

    1.4、进入redis包,并运行编译

    1.5、redis默认的安装目录是/usr/local/bin目录下:

    1.6、启动redis(可以在任意目录输入redis-server命令即可启动Redis)

    1.7、指定配置启动redis(后台启动)

    二、Redis客户端

    Redis客户端包括:

    Redis命令行客户端( redis-cli )

    Redis图形化桌面客户端:(resp软件)


    参考视频:黑马程序员Redis入门到实战教程,深度透析redis底层原理+redis分布式锁+企业解决方案+黑马点评实战项目

    redis是什么,他的应用场景是什么?

    Redis(Remote Dictionary Server)是一种开源的内存数据库,通常被称为数据结构服务器。它被设计用于提供高性能、高可用性和低延迟的数据存储和检索,特别适用于许多不同类型的应用场景。

    Redis的一些主要特点和应用场景:

    1. 内存存储: Redis 将数据存储在内存中,因此具有非常快的读写速度。这使得它非常适合用作缓存服务器,可以显著减轻数据库的负载。

    2. 键值存储: Redis 是一个键值存储系统,其中每个键都与一个值相关联。这种模型非常适合存储简单的数据结构,如字符串、列表、哈希表、集合等。

    3. 发布/订阅系统: Redis 支持发布/订阅模式,允许客户端订阅特定的频道并接收实时消息。这在构建实时通信和事件驱动应用程序时非常有用。

    4. 计数器和排行榜: Redis 的原子性操作使其成为构建计数器和排行榜的理想选择。您可以轻松地对计数器进行递增/递减操作,并使用有序集合构建排行榜。

    5. 会话存储: Redis 可用于存储会话数据,特别是在负载平衡的 Web 应用程序中,可以在各个应用服务器之间共享用户会话信息。

    6. 地理位置: Redis 的地理位置功能(GeoSpatial)使其能够存储和查询地理位置数据,这对于构建位置相关的应用非常有用,如地图和定位服务。

    7. 消息队列: Redis 的列表结构和发布/订阅模式使其成为一个轻量级的消息队列系统,可用于任务调度和异步处理。

    8. 缓存:Redis 常用作缓存层,可以将经常访问的数据存储在内存中,以减少对数据库或其他后端存储的访问,提高应用程序性能。

    9. 分布式锁: Redis 可以用于实现分布式锁,确保在分布式系统中的多个节点之间同步访问共享资源。

    10. 实时分析: Redis 的数据结构和查询能力可用于实时数据分析和统计。

    总之,Redis 是一种多功能的数据存储系统,适用于多种应用场景,包括缓存、实时通信、计数器、排行榜、会话管理、地理位置服务、消息队列等。其高性能和低延迟使其成为许多应用程序的理想选择。然而,需要注意的是,Redis 是一个内存数据库,因此存储的数据通常应该是可以在内存中容纳的。

    redis的官方网站:Redis

    redis是键值型数据库:(也就是key-value模式)(跟python的字典很像)

    redis的是Nosql数据库 

    认识NoSQL 

    SQL是关系型数据库

    NoSQL是非关系型数据库

    SQL和NoSQL的区别

    数据库结构之间的区别

    数据库关联之间的区别

    sql数据库之间存储的数据之间存在相连接的关系,当你像删除这个表的时候,如果存在关系,就不能删除(可以节省数据存储的空间)

    在Nosql中,通常使用json的格式(文档嵌套)来确定关联的,而数据库本身不会帮助你对关系进行维护,需要程序员自己进行逻辑梳理(缺点:数据容易出现重复,导致浪费空间)

    SQL查询和非SQL查询的区别

     

    事务上的差异

    SQL数据库会满足事务的四大特性(A.C.I.D) (原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、隔离性(Isolation))

    NoSQL数据库无法全部满足事务的四大特性(要么不存在事务,需要根据不同的数据库而定),因此可以叫做满足基本的事务(BASE) 

    总结

    认识Redis

    特征:

    一、安装Redis

    1、单机安装Redis(linux安装 -- Centos7.9)

    1.1、安装Redis依赖(Redis是基于C语言编译的,因此首先需要安装Redis所需的gcc依赖)

    [root@localhost ~]# yum install gcc tcl -y
    

    1.2、将下载好的redis安装包上传到/usr/local/src目录下

    下载网站:Download | Redis

    1. [root@localhost ~]# cd /usr/local/src/
    2. [root@localhost src]# ls
    3. redis-6.2.13.tar.gz

    1.3、解压redis安装包

    1. [root@localhost src]# tar -zxvf redis-6.2.13.tar.gz
    2. [root@localhost src]# ls
    3. redis-6.2.13 redis-6.2.13.tar.gz

    1.4、进入redis包,并运行编译

    1. [root@localhost src]# cd redis-6.2.13
    2. [root@localhost redis-6.2.13]# make && make install

    1.5、redis默认的安装目录是/usr/local/bin目录下:

    1. [root@localhost redis-6.2.13]# ls /usr/local/bin/
    2. redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
    3. [root@localhost redis-6.2.13]#

    redis-cli:是redis提供的命令行客户端

    redis-server:是redis的服务端启动脚本

    redis-sentinel:是redis的哨兵启动脚本

    1.6、启动redis(可以在任意目录输入redis-server命令即可启动Redis)

    这种启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下Crtl+C则Redis停止,不推荐使用。 

    1.7、指定配置启动redis(后台启动)

    如果要让redis以后台的方式启动,必须修改redis的配置文件,就在redis安装包的目录下,名字叫redis.conf :

    我们先将这个文件备份一份

    1. [root@localhost redis-6.2.13]# cp redis.conf redis.conf.bck
    2. [root@localhost redis-6.2.13]# ls
    3. 00-RELEASENOTES CONDUCT COPYING dump.rdb Makefile README.md redis.conf.bck runtest-cluster runtest-sentinel src TLS.md
    4. BUGS CONTRIBUTING deps INSTALL MANIFESTO redis.conf runtest runtest-moduleapi sentinel.conf tests utils

     修改redis备份文件

    1. # 监听的地址默认是127.0.0.1(本地地址),会导致只能在本地访问,修改为0.0.0.0则可以任意地址访问,生产环境不要设置为0.0.0.0
    2. bind 0.0.0.0
    3. # 守护进程,修改为yes后即可后台运行
    4. daemonize yes
    5. # 密码,设置后访问Redis必须输入密码
    6. requirepass 123456
    7. # 日志文件,默认为空,不记录日志,可以指定日志文件名
    8. logfile “redis.log”

    Redis的其他常用配置

    # 监听的端口

    port 6379

    # 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录

    dir .

    # 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0-15

    databases 1

    # 设置redis的能够使用的最大内存

    maxmemory 512mb

    重新启动redis,查看效果

    1. [root@localhost redis-6.2.13]# vim redis.conf
    2. [root@localhost redis-6.2.13]# redis-server redis.conf
    3. [root@localhost redis-6.2.13]# ps aux|grep redis
    4. root 16486 0.0 0.0 162520 11956 ? Ssl 14:38 0:00 redis-server 0.0.0.0:6379
    5. root 16492 0.0 0.0 112812 980 pts/1 S+ 14:38 0:00 grep --color=auto redis
    6. [root@localhost redis-6.2.13]#

    1.8、实现redis开机自启(配置redis服务)

    1. [root@localhost redis-6.2.13]# vim /etc/systemd/system/redis.service
    2. [root@localhost redis-6.2.13]# cat /etc/systemd/system/redis.service
    3. [Unit]
    4. Description=redis-server
    5. After=network.target
    6. [Service]
    7. Type=forking
    8. ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.13/redis.conf
    9. PrivateTmp=true
    10. [Install]
    11. WantedBy=multi-user.target
    12. [root@localhost redis-6.2.13]#

    重载系统服务:

    [root@localhost redis-6.2.13]# systemctl daemon-reload
    

    重启redis

    [root@localhost redis-6.2.13]# systemctl restart redis
    

    查看redis状态

    1. [root@localhost redis-6.2.13]# systemctl status redis
    2. ● redis.service - redis-server
    3. Loaded: loaded (/etc/systemd/system/redis.service; disabled; vendor preset: disabled)
    4. Active: inactive (dead)
    5. Sep 04 14:49:35 localhost.localdomain systemd[1]: Starting redis-server...
    6. Sep 04 14:49:35 localhost.localdomain systemd[1]: Started redis-server.
    7. [root@localhost redis-6.2.13]#

    实现开机自启

    1. [root@localhost redis-6.2.13]# systemctl enable redis
    2. Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /etc/systemd/system/redis.service.
    3. [root@localhost redis-6.2.13]#

    二、Redis客户端

    Redis客户端包括:

    命令行客户端:

    1. redis-cli(命令行客户端): Redis 自带了一个命令行客户端 redis-cli,它可以在终端中与 Redis 服务器进行交互。只需打开终端并运行 redis-cli 命令,即可开始执行 Redis 命令。例如:

      redis-cli

      这将打开 Redis 命令行客户端,允许您与本地或远程 Redis 服务器进行交互。

    图形化桌面客户端:

    1. Redis Desktop Manager: 这是一个可视化的 Redis 客户端工具,提供了图形界面,使您能够轻松管理 Redis 数据库、执行命令和查看数据。

    编程语言客户端:

    1. Redis Desktop Manager: 这是一个可视化的 Redis 客户端工具,提供了图形界面,使您能够轻松管理 Redis 数据库、执行命令和查看数据。

      1. import redis
      2. # 连接到本地 Redis 服务器
      3. r = redis.Redis(host='localhost', port=6379, db=0)
      4. # 执行 Redis 命令
      5. r.set('mykey', 'myvalue')
    2. 其他语言的 Redis 客户端库: Redis 有许多不同语言的客户端库,如 Java、Ruby、Go、PHP 等。您可以根据您的编程语言选择适合的客户端库来连接和操作 Redis 服务器。

    Redis命令行客户端( redis-cli )

    1. [root@localhost redis-6.2.13]# cd /usr/local/bin/
    2. [root@localhost bin]# ls
    3. redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server

     使用方法

    redis-cli [options][commonds]

    常见的option选项有:

    -h 127.0.0.1:指定要连接的redis节点的IP地址,默认是127.0.0.1

    -p 6380:指定要连接的redis节点的端口,默认是6379

    -a 123456:指定redis的访问密码

    其中commonds就是Redis的操作命令,如:

    ping:与redis服务器做心跳测试,服务器正常会返回pong 

    不指定commonds时,会进入redis-cli的交互控制台: 

    1. [root@localhost bin]# redis-cli -h 192.168.1.209 -p 6379 -a 123456
    2. Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
    3. 192.168.1.209:6379> ping
    4. PONG
    5. 192.168.1.209:6379>

    或者是:

    1. [root@localhost bin]# redis-cli -h 192.168.1.209 -p 6379
    2. 192.168.1.209:6379> ping
    3. (error) NOAUTH Authentication required.
    4. 192.168.1.209:6379> AUTH 123456
    5. OK
    6. 192.168.1.209:6379> ping
    7. PONG
    8. 192.168.1.209:6379>

    Redis图形化桌面客户端:(resp软件)

    resp安装包

    链接:https://pan.baidu.com/s/1mK5VsenJL65XANzqUBtgmg?pwd=82kj 
    提取码:82kj

    安装完成后:

    连接上(默认存在16个库)

    库中存在的信息

  • 相关阅读:
    常用工具 | 使用API Monitor监测到目标程序对系统API函数的调用
    详解设计模式:享元模式
    golang学习笔记系列之go语言代码的组织
    uniapp瀑布流:他的数据是纵向渲染,怎么实现动态上拉加载数据?
    旅游网页设计 web前端大作业 全球旅游私人订制 旅游公司网站模板(HTML+CSS+JavaScript)
    SpringCloud在idea中一键启动项目
    苹果cms翻译插件-免费苹果CMS自动采集翻译
    echarts:通过自定义工具栏来实现一些功能
    11 个例子讲清spark提交命令参数
    【0234】PgBackendStatus 记录当前postgres进程的活动状态
  • 原文地址:https://blog.csdn.net/lpfstudy/article/details/132477017