• Redis-命令操作Redis


    目录

    一,Redis简介

    核心存储键值对:String,list,hash,set,zset(sort set)

     二,Linux上安装redis

    1.将Redis的压缩包放入客户端的存储文件夹中

     解压压缩包

     下载Redis运行所需要的gcc环境

    进入redis的解压目录,执行命令 make

    修改redis为守护进程

     启动redis

    测试外界是否可以连接,是什么缘由?

    1.端口未开放

    2.redis.conf未配置完全(运行远程连接)

    三,redis的常用命令

    Redis字符串(String)

    Redis哈希(Hash)

     Redis列表(List)

     Redis集合(Set)


    本篇博客主要介绍redis的核心知识,如果没有需要的内容的话可以去redis的学习网址自行学习:

    https://www.w3cschool.cn/redis/

    一,Redis简介

    核心存储键值对:String,list,hash,set,zset(sort set)

    作用:提升程序运行的效率

    Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
       它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,
       同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区

       学习网址:https://www.w3cschool.cn/redis/
       www.redis.cn
       www.redis.net.cn
       
    Redis用途:1. 数据库 2. 缓存
    集群:哨兵、主从、分片式   

    NoSql数据库:redis,echcache,mongodb

            是直接通过键值对的方式取值,数据之间不存在关系

    Sql数据库:SQLserver,Oracle,MySql

            通过查询表的方式获取数据

        
    #下载
    redis-5.0.0.tar.gz(linux)
    Redis-x64-3.2.100.msi(window安装版)
    Redis-x64-3.2.100.zip(window解压版)

     二,Linux上安装redis

    1.将Redis的压缩包放入客户端的存储文件夹中

     解压压缩包

     下载Redis运行所需要的gcc环境

    yun install gcc

    这也是Redis与tomcat最大的不同 tomcat并不需要

    下载中途需要输入Y确定你的操作

      

    进入redis的解压目录,执行命令 make

    进入解压目录 cd /redis-5.0.0

    编译指令 make

    检验指令 make install

    耗时有点久,要耐心等待, 当出现黄色字体就差不多了

     输入ll 可以看到其中有两个重要的文件 redis.conf和src

     进入src也有两个重要文件  redis-cli和redis-server

     然后我们看看没有进行下一步 修改为守护进程时启动redis是个什么情况

    启动redis命令,在解压包目录下的src/redis-server

    ./src/redis-server

     启动后我们发现已经不能在输入其他指令了,这样有影响我们的其他操作,所以我们要将它修改为守护进程 现在只能只能Ctr+C 终止redis运行

    lsof -i:6379 查看正在使用的端口  

    修改redis为守护进程

    为了防止修改出现问题,我们先将文件备份

    cp redis.conf redis(目标文件).conf.bar20221030(备份的名)

    修改:将daemonize no 改为 daemonize yes

      然后我们可以进入快捷目录下直接去编辑redis.conf文件

     但是如果没有这种快捷方式怎么办呢?而且那个需要修改的地方又太难找到了?

    教大家一个小技巧

    输入指令 vi redis.conf进入编辑页面,然后直接输入/(斜杠加上)需要寻找的地方存在的关键字,我们要将将daemonize no 改为 daemonize yes

    (当链接工具不能直接打开文件编辑:那么需要通过 /+"查询关键字" 快速定位单词所在的位置)

    那我们就直接 输入/daemon再回车即可找到对应的位置

     跳转

     找到了所输入的关键字,然后可以在附近查找一下所需要修改的地方,或者我们一开始输入完整的字段就行了

    点击insert开始编辑,修改为yes 再esc退出  输入:wq 为保存 :q!为不保存

     启动redis

    在redis解压包的目录下执行以下指令

    启动redis
    ./redis-server ../redis.conf

    测试redis启动是否成功
    ./redis-cli
    ping

    select (index)代表可以切换数据库之类的操作

    测试外界是否可以连接,是什么缘由?

    1.端口未开放

    #开放端口
    firewall-cmd --zone=public --add-port=6379/tcp --permanent
    #跟新防火墙规则
    firewall-cmd --reload
    #防火墙列表
    firewall-cmd --zone=public --list-ports
    #防火墙状态
    systemctl status firewalld
    #启动防火墙
    systemctl start firewalld
    #关闭防火墙
    systemctl stop firewalld.service
    systemctl disable firewalld.service

    2.redis.conf未配置完全(运行远程连接)

    注释:bind 127.0.0.1

    vim redis.conf 进入配置文件

    不需要点击insert,输入 /bind 127.0.0.1 回车(如果没有找到 bind 127.0.0.1 可以按“n”键搜索到下一个关键字)

    注释掉:bind 127.0.0.1(在前面添加#号)

    按esc键,进入下一步同样的操作

     修改:requirepass 123456

    不用insert 直接输入/requirepass回车找到下图位置,并将#号删除,输入root密码,esc键后输入 :wq 保存并退出

    lsof -i:6379查看进程

    kill -9 +进程ip 结束进程

    ./src/redis-server redis.conf 开启进程

     

    客户端redis-cli链接redis,重新测试

    ./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456
    ping

    三,redis的常用命令

            注意:redis中的常用命令就是开发过程中,所有调用redis api中的方法

    Redis字符串(String)

    set key          //保存
    set name zs
    set age 12
    set sex nan

    get key          //获取
    get name

    type key         //查看类型
    type age            //string 说明type返回的是键值对存储类型,而不是值存储类型

    keys *或keys key //查看所有或者指定的key
    keys *

    SETEX KEY_NAME TIMEOUT VALUE    // 给键值对设置过期时间
    setex zs 60 live

    ttl key    // 获取键值对剩余的存活时间
    ttl zs

     set name zs

     

     查看数据

    Redis哈希(Hash)

    Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

    # hset key field1 value1 [field2 value2]  #同时将多个field-value设置到哈希表key中
    hset user name zs age 12 sex nv

    # hget key field                          #获取指定的字段值
    hget user age

    # hdel key field                          #删除指定的字段值
    hdel user age

    # hgetall key                             #查询指定key的所有字段
    hgetall user

    # hexists key field                       #查询指定key中的字段是否存在
    hexists user name

    # hlen key                                #获取指定key中的长度
    hlen user

     Redis列表(List)

    Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

    # lpush key value1 value2 value3          #将一个或多个值插入到列表头部
    lpush en a b c d e f g
    
    # llen key                                #获取列表的长度
    llen en
    
    # lindex key index                        #根据索引获取列表中的元素
    lindex en 1     #返回f,说明下标从0开始,同时先进后出
    
    # lrange key start sop                    #查看指定范围内的元素
    lrange en 1 3    #返回fed,说明下标从0开始,同时先进后出
    

     Redis集合(Set)

    Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

    # sadd key value1 [value2]                #向集合添加一个或多个元素
    sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu

    # scard key                               #获取集合中的元素数量
    scard hobby

    # exists key                              #是否存在
    exists hobby

     有序集合(sort set)

    https://www.w3cschool.cn/redis/redis-sorted-sets.html

  • 相关阅读:
    167.二叉树:另一棵树的字树(力扣)
    [SQL Server]数据库入门之多表查询
    智能门锁:电容式触控屏的工作原理
    【C++】设计模式
    基于单片机的机械臂运行轨迹在线控制系统设计
    (附源码)APP+spring boot校园购物网站 毕业设计 041037
    15. 三数之和
    Spring Boot与Shiro实现权限管理02
    【Flink状态管理(六)】Checkpoint的触发方式(1)通过CheckpointCoordinator触发算子的Checkpoint操作
    甲烷排放通量的计算
  • 原文地址:https://blog.csdn.net/weixin_64313980/article/details/127580792