美文网首页
分布式--Redis的安装与数据类型的使用

分布式--Redis的安装与数据类型的使用

作者: aruba | 来源:发表于2022-06-24 17:11 被阅读0次

    Redis是一种NoSQL数据库,NoSQL的意思是不仅仅可以使用关系型数据库,由于关系型数据库的数据是存储在文件中,每次操作都是IO操作,而文件的IO操作又是比较缓慢的,NoSQL打破了原先一个表对应表字段,然后再存储数据的方式,将数据以特殊的方式存储,对程序运行效率有显著的提升
    目前市面上常见的NoSQL有以下几种:

    NoSQL 描述
    memcached 内存型数据库,所有数据存储于内存中,以键值对形式存放
    Redis 内存型数据库,还具备持久化能力,代价是性能有所降低
    HBase 以列作为存储
    MongoDB 以Document作存储

    一、Redis安装与启动

    安装可以直接使用yum

    yum install epel-release
    yum install redis
    

    由于下面需要模拟多台Redis服务器,需要复制多份Redis,yum方式会直接安装到/usr/bin目录,不方便复制,所以我们以手动编译的方式

    1. 安装Redis

    Redis使用c语言编写,所以编译需要使用c的编译工具:

    yum install -y gcc-c++ automake autoconf libtool make tcl 
    

    官网文档:https://redis.io/docs/getting-started/installation/install-redis-from-source/

    wget https://download.redis.io/redis-stable.tar.gz
    tar -xzvf redis-stable.tar.gz
    cd redis-stable
    make
    

    指定Redis安装到/usr/local/redis目录

    make install PREFIX=/usr/local/redis
    

    官网首页上也可以下载到编译完的压缩包

    2. 配置Redis

    回到你解压出Redis的目录,里面有个redis.conf文件,将它拷贝一份到Redis安装目录/usr/local/redis

    cp ./redis.conf /usr/local/redis/bin/
    

    修改配置文件中下面的选项:

    # 后台方式启动
    daemonize yes
    # 注释下面bind配置
    # bind 127.0.0.1 -::1
    # 允许外部访问
    protected-mode no
    

    3. 启动Redis

    启动时指定使用配置文件

    ./redis-server redis.conf
    

    二、Redis数据类型

    Redis常用五大类型:

    类型 描述 使用场景
    string key-value形式存储,是redis最基本的类型,最大存储512MB 所有key-value形式的存储
    hash key-field-value形式存储,一个key可以对应多个field 存储对象
    list 有序的字符串列表 消息队列、列表
    set 无序集合,内部无重复值,和Java中的HashSet类似 去重、判断是否存在集合中
    zset 除了set的特性外,还具有优先级,按照优先级排序,默认优先级为插入顺序 排行榜

    三、Redis常用命令

    官网文档:https://www.redis.net.cn/order/

    下面使用Redis的客户端,来简单使用下命令

    ./redis-cli
    

    1. 操作string

    1.1 set

    设置key-value:

    set name zhangsan
    

    返回:OK

    1.2 get

    获取key对应的value:

    get name
    

    返回:value值

    1.3 setnx

    设置key-value,且仅当key不存在时:

    setnx name lisi
    

    返回:改变数

    1.4 setex

    设置key-value,并指定过期时间:

    setex name 3 lisi
    

    返回:OK

    2. 操作key

    2.1 exists

    判断key是否存在:

    exists name
    

    返回:不存在返回0,存在返回1

    2.2 expire

    为key设置过期时间,单位秒:

    expire name 5
    

    返回:成功 1 失败 0

    2.3 ttl

    查看key过期剩余时间:

    ttl name
    

    返回:过期 -2、永不过期 -1、没过期 剩余时间

    2.4 del

    删除key对应的key-value:

    del name
    

    返回:成功 1 失败 0

    3. 操作hash

    3.1 hset

    设置key-field-value:

    hset person name zhangsan
    hset person age 18
    

    返回:成功 1 失败 0

    3.2 hget

    获取key中field对应的值:

    hget person name
    

    返回:value值

    3.3 hmset

    一次性设置多个field-value:

    hmset person address beijing gender man
    

    返回:成功 OK

    3.4 hmget

    一次性获取多个field的值:

    hmget person address gender
    

    返回:多个value值

    3.5 hvals

    获取所有value值:

    hvals person
    

    返回:多个value值

    3.6 hgetall

    获取所有field和value:

    hgetall person
    

    返回:多个field和value值

    4. 操作list

    4.1 rpush

    向一个列表末尾中插入一个或多个值,如果列表不存在,则创建

    rpush list a b c
    

    返回:成功 列表中元素数

    4.2 lpush

    向一个列表头中插入一个或多个值,如果列表不存在,则创建

    lpush list d e f
    

    返回:成功 列表中元素数

    4.3 lrange

    返回列表中指定区间内的值,可以用-1代表末尾

    lrange list 0 -1
    

    返回:查询到的值

    4.4 llen

    获取列表长度

    llen list
    

    返回:列表长度


    4.5 lrem

    删除列表中的指定个数的指定value,个数为正,从左往右删除,为负,从右往左删除

    lrem list 2 f
    

    返回:删除数量

    5. 操作set

    5.1 sadd

    将一个或多个值插入集合中,重复元素不生效,如果集合不存在,则创建

    sadd blacks a b c
    

    返回:插入数

    5.2 scard

    返回集合元素数量

    scard blacks
    

    返回:集合元素数量

    5.3 smembers

    返回集合中的元素

    smembers blacks
    

    返回:集合中所有元素

    6. 操作zset

    6.1 zadd

    向有序集合中添加分数和数据,集合不存在,则创建

    zadd rank 10 xiaoming 20 xiaohei
    

    返回:插入数

    6.2 zrange

    获取指定区间的集合内容,withscores表示带有分数

    zrange rank 0 -1
    zrange rank 0 -1 withscores
    

    返回:集合内容

    相关文章

      网友评论

          本文标题:分布式--Redis的安装与数据类型的使用

          本文链接:https://www.haomeiwen.com/subject/omsvvrtx.html