美文网首页
redis入门简介(一)

redis入门简介(一)

作者: CodingMen | 来源:发表于2019-01-08 10:22 被阅读0次

    一、什么是redis

    redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。

    二、优点

    性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。

    丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets

    数据类型操作。

    原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

    丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

    Redis是提供单线程方式提供服务

    Redis支持主从复制功能

    三、使用场景

    缓存——热数据

    分布式锁与单线程机制

    队列

    排行榜

    四、redis相比memcached有哪些优势?

    memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型

    redis的速度比memcached快很多

    redis可以持久化其数据

    五、mac安装redis

          1. 官网下载:https://redis.io/download

    2.解压安装,执行命令

            tar xzf redis-5.0.3.tar.gz    cd redis-5.0.3    make

    3.启动服务器

            执行命令:src/redis-server

    4.启动客户端

            执行命令:src/redis-cli

    5.保存并获取缓存数据

    六、redis支持类型基本操作

    string类型

    功能说明:字符串数据类型的相关命令用于管理 redis 字符串值

    命令描述备注SET key value设置指定 key 的值

    GET key获取指定 key 的值。

    SETNX key value只有在 key 不存在时设置 key 的值。

    STRLEN key返回 key 所储存的字符串值的长度。

    2.Redis 哈希(Hash)

    功能说明:Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

    命令描述备注HMSET key field1 value1 [field2 value2 ]同时将多个 field-value (域-值)对设置到哈希表 key 中。

    HMGET key field1 [field2]获取所有给定字段的值

    HGETALL key获取在哈希表中指定 key 的所有字段和值

    HGET key field获取存储在哈希表中指定字段的值。

    3.Redis 列表(List)

    功能说明:Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表 的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

    命令描述备注LPUSH key value1 [value2]将一个或多个值插入到列表头部

    LRANGE key start stop获取列表指定范围内的元素

    LLEN key获取列表长度

    4.Redis 集合(Set)

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

    命令描述备注SADD key member1 [member2]向集合添加一个或多个成员

    SCARD key获取集合的成员数

    SMEMBERS key返回集合中的所有成员

    5.Redis 有序集合(sorted set)

    功能说明:Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

    不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大  .      的排序。

    命令描述备注ZADD key score1 member1 [score2 member2]向有序集合添加一个或多个成员,或者更新已存在成员的分数

    ZCARD key获取有序集合的成员数

    七、主从模式搭建

    1.准备三个redis服务,依次命名文件夹子master,slave1,slave2.

    2.配置文件(redis.conf),我们master使用6000端口。

    master配置修改端口:

    port 6000

    requirepass 123456

    slave1修改配置:

    port 6001

    slaveof 127.0.0.1 6000

    masterauth 123456

    requirepass 123456

    slave2修改配置:

    port 6002

    slaveof 127.0.0.1 6000

    masterauth 123456

    requirepass 123456

    3.启动

        启动主机

        redis-server redis.conf

        启动从机:

        redis-server redis1.conf    redis-server redis2.conf

    4.验证

    master:

    [root@localhost master]# redis-cli -p 6000

    127.0.0.1:6000> auth 123456

    OK

    127.0.0.1:6000> set test chenqm

    OK

    slave1:

    [root@localhost slave2]# redis-cli -p 6001

    127.0.0.1:6001> auth 123456

    OK

    127.0.0.1:6001> get test

    "chenqm"

    slave2:

    [root@localhost slave2]# redis-cli -p 6002

    127.0.0.1:6002> auth 123456

    OK

    127.0.0.1:6002> get test

    欢迎大家关注我们的公众号,一起学习、探讨

    相关文章

      网友评论

          本文标题:redis入门简介(一)

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