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). 使用命令配置

  1. 获取配置项

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

  2. 设置配置项

    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 简介

  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 简介

  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:
在这里插入图片描述

  1. 发布与订阅

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       //获取客户端最大连接数
  1. redis脚本

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

    eval


作者:Crazy灬峰少
来源:优快云
原文:https://blog.youkuaiyun.com/qq_22918243/article/details/82968552?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值