• 【Redis】Redis在Linux与windows上的安装&基本操作语法


    一、Redis简介

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

    Redis 与其他 key - value 缓存产品有以下三个特点:

    • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
    • Redis不仅仅支持简单的key-value类型的数据,同时还提供list(列表),set(集合),zset(有序集合),hash(哈希表)等数据结构的存储。
    • Redis支持数据的备份,即master-slave(主从模式)模式的数据备份。

     zset原为sorted set。为了避免sorted set简写sset导致命令冲突,所以改为zset。同理例如class-->clazz

    Redis与其他key-value存储有什么不同?

    • Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
    • Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,应为数据量不能大于硬件内存。在内存数据库方面的另一个优点是, 相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。 同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

    二,Redis下载安装

    2.1下载地址:

    https://github.com/tporadowski/redis/releases

    2.2Linux安装Redis

    在我们之前使用的mobaxterm上连接的Linux管理中去解压压缩文件:

     tar -zxvf redis-5.0.0.tar.gz

    2.3解压后执行安装gcc

      yum install gcc

    2.4.编译Redis

    进入解压后的文件夹执行编译Redis

    make && make install

    2.5.修改Redis为守护进程

    什么是守护进程?
    守护进程就是我们启动Redis之后还能输入命令,如果我们不设置守护进程你就会发行我们启动Redis之后无法输入其他的命令了

    使用我们Linux快速查找命令:

    :/daemonize

    修改redis.conf文件将daemonize no 改为 daemonize yes

    2.6.启动Redis服务

    /src/redis-server redis.conf

           通过查看是否能够连接本地客户端来验证:

    ./src/redis-cli

    输入一个ping 连接成功会自动返回一个pong,如果不返回就失败了

            

    2.7.配置密码且外部连接

    执行完第六步我们会发现我们连接Redis不要密码!且只能本地连接外部连接连接不上,所以我们需要继续配置。

    修改redis.conf注文件中的内容:注释掉bind 127.0.0.1这行语句并修改requirepass 123456

    2.8.重启服务器

    首先kill -9 进程pid 关闭启动的进程ip

    杀死进程

    kill -9 pid

    查询进程

     lsof -i:6379

    启动redis.conf的新配置   

     ./src/redis-server redis.conf
     

    2.9.开放Redis端口号

    firewall-cmd --zone=public --add-port=6379/tcp --permanent
    firewall-cmd --reload

    2.10.redismanagerl连接测试 

    已经连接成功!!!

    我们的Linux安装Redis就全部完成了!!!

    三、Windos安装Redis

    3.1.解压安装包

    在bat中编写

    1. cd Redis-x64-3.2.100
    2. redis-server redis.windows.conf

    启动bat文件

    四、Redis基本操作语法


    首先我们启动Redis服务与本地客户端连接

    因为我们加入了守护进程,所以要带密码和用户端口连接
    -h(主机ip)-p(端口) -a(密码)

    输入ping:有个PONG说明登录成功,否则要看看密码。

    接下来小编从常用的字符串、哈希表、列表分别来介绍一些常用方法,没有介绍的大家都可以查看上面分享的学习网址,里面人家都有官方的。

    4.1.字符串(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

    4.2.哈希(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

    4.3.列表(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开始,同时先进后出

    4.4.集合(Set)

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

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

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

    # exists key                              #是否存在
    exists hobby

    除了以上命令,Redis还提供了一些其他的集合命令,如SMOVE、SSCAN等,用于集合的移动和集合的扫描等操作。

  • 相关阅读:
    hive数据库将非分区表数据迁移到分区表
    StarRocks 自增ID实现分页优化
    PHP XML DOM
    【Spring Boot】SpringBoot 单元测试
    「Python入门」Python多进程
    计算机毕业设计(附源码)python在线考试主观题评分系统
    Pinia 与 Vuex 使用区别
    为何电脑要设置网络掩码?
    从头训练一个神经网络!教它学会莫奈风格作画!⛵
    2021最新中高级Java面试题目,Java面试题汇总
  • 原文地址:https://blog.csdn.net/m0_73647713/article/details/134193959