redis入门简介(一)

2019-01-08  本文已影响0人  CodingMen

一、什么是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

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

上一篇下一篇

猜你喜欢

热点阅读