redis基础快速入门

目录

0. 前言

1. 简介

1.1 数据类型

1.2 特点

1.3 优势

1.4 与其他key-value不同

2.安装(Linux)

3. 配置(两种形式)

4. string

4.1 简介

扫描二维码关注公众号,回复: 6048039 查看本文章

4.2 命令

5. hash

5.1 简介

5.2 命令

6. list

6.1 简介

6.2 命令

7. set

7.1 简介

7.2 命令

8. zset

8.1 简介

8.2 命令

9. HyperLogLog

9.1 简介

9.2 命令 

10. 发布与订阅

10.1 简介

 10.2 命令

11. 事务

11.1  简介

11.2 命令 

12. 备份与恢复

13. redis安全

14. redis性能测试

15. 管道技术

16. 客户端与服务器

17. redis脚本

18. redis分区


0. 前言

本文章只是简单的快速入门, 简单的命令使用, 详细的命令请查阅官网学习. 

1. 简介

1.1 数据类型

String: 字符串
Hash: 散列
List: 列表
Set: 集合
Sorted Set: 有序集合

1.2 特点

(1) 数据的持久化, 存储再磁盘上, 重启后可加载使用

(2) 支持数据结构的存储, set, hash等

(3) 只是master-slave数据备份

(4) key-value格式存储

1.3 优势

(1) 性能极高
(2) 丰富的数据类型
(3) 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。
(4) 丰富的特性, 通知,key过期等

1.4 与其他key-value不同

(1) 有着复杂的数据结构并且支持原子性操作
(2) 运行在内存中速度快,并且支持持久化在磁盘中.

2.安装(Linux)

 安装redis命令

sudo pacman -S redis        //arch linux 
sudo apt-get install redis-server    //ubuntu linux

验证是否安装并启动redis

redis-cli    

 登录成功将会打开以下终端: 

redis 127.0.0.1:6379>

ping命令

redis 127.0.0.1:6379> ping
PONG 

3. 配置(两种形式)

(1). 在redis安装目录下redis.conf文件用来配置redis配置项
(2). 使用命令配置

获取配置项 

CONFIG GET loglevel    //获取日志级别
CONFIG GET * 

设置配置项 

CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
CONFIG SET loglevel "notice"    //设置日志级别

4. string

4.1 简介

(1). string 是 redis 最基本的类型.  key-value形式.
(2). string 类型是二进制安全的.  可以存储二进制文件.
(3). string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB.

4.2 命令

set key value
get key

example:  

5. hash

5.1 简介

(1). key-value的集合
(2). 适合存储对象

5.2 命令

keys *      //查看当前所有key

hset key field value     // 设置key的属性名与属性值
hget key filed    //得到key的属性名对应的值

example:

6. list

6.1 简介

string类型的集合,  按照插入顺序排列, 可以从头或尾部插入

6.2 命令

lpush key value     //从左插入列表  
rpush key value     //从右插入列表
lrange  key 0 10        // 从左查看第1到10条

example: 

7. set

7.1 简介

(1). 无序的string类型的集合.
(2). 集合中成员的都是唯一的, 不能出现重复的数据, 通过哈希表实现的

7.2 命令

sadd key value
smembers key        //查看该key的所有value

example:

8. zset

8.1 简介

有序集合

8.2 命令

zadd key score value    //score是分数,分数小, 排列在前面
zrange key 0 10 WITHSCORES      //查看第1到第10条记录   value的下面显示分数

examle:

9. HyperLogLog

9.1 简介

(1). 用来作基数(不重复)统计的算法.
(2). 适合当元素数量非常大的时候使用, 占用内存小, 但是有2%误差.

9.2 命令 

pfadd key value
pfcount key     //计算value的数量

example:

10. 发布与订阅

10.1 简介

发送者发布消息, 订阅者收到消息.

 10.2 命令

subscribe <channel>        //订阅频道
publish <channel> <message>     //发布消息

example:

(1). 订阅频道

(2). 发布消息

(3).  订阅了该频道的将收到消息

11. 事务

11.1  简介

Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证:
1. 批量操作在发送 EXEC 命令前被放入队列缓存。
2. 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
3. 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。

1. 单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。
2. 事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。

11.2 命令 

multi
....    //命令

exec    //执行以上命令

12. 备份与恢复

(1). 备份

save    //在redis安装目录下创建dump.rdb备份文件
BGSAVE      //该命令在后台执行

(2). 恢复

将dump.rdb移动到redis安装目录下, 然后开启服务即可恢复数据

config get dir      //查看redis目录

13. redis安全

通过配置文件设置密码, 使得redis更安全

CONFIG get requirepass      //查看是否需要密码登录

CONFIG set requirepass "password"   //设置密码

AUTH password       //使用密码登录

14. redis性能测试

Redis 性能测试是通过同时执行多个命令实现的。

//测试10000次set和lpush, 得到次数/每秒
redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q

15. 管道技术

 Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:
1. 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。
2. 服务端处理命令,并将结果返回给客户端。

 一般请求步骤: 

客户端cmd1 -> 客户端等待 -> 服务器ack1
客户端cmd2 ->客户端等待 -> 服务器ack2
客户端cmd3 -> 客户端等待 -> 服务器ack3

使用管道的步骤

客户端cmd1,cmd2,cmd3 -> 客户端等待 -> 服务器ack1,ack2, ack3
节省了中间多次传输的时间, 提升了效率

16. 客户端与服务器

info    //查看redis服务器信息

config get maxclients       //获取客户端最大连接数

17. redis脚本

Redis 脚本使用 Lua 解释器来执行脚本。

eval

18. redis分区

无..

猜你喜欢

转载自blog.csdn.net/qq_22918243/article/details/82968552