redis7基础

什么是redis

  • Redis全称为:Remote Dictionary Server(远程数据服务),使用C语言编写。Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。
  • 支持数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
  • 基于内存,可持久化

官方资料

Redis官网:http://redis.io/

Redis官方文档:http://redis.io/documentation

Redis下载:http://redis.io/download

为什么要使用Redis

一个产品的使用场景肯定是需要根据产品的特性,先列举一下Redis的特点:

  • 读写性能优异
    。Redis能读的速度是110000次/s,写的速度是81000次/s (测试条件见下一节)。
  • 数据类型丰富
    。string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
  • 原子性
    。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  • 丰富的特性
    。Redis支持 publish/subscribe, 通知, key 过期等特性。
  • 持久化
    。Redis支持RDB, AOF等持久化方式
  • 发布订阅
    。edis支持发布/订阅模式
  • 分布式
    。Redis Cluster

1.redis用途

缓存数据分类:

  • 实时数据同步缓存:数据库数据更新之后,redis中的数据会被清除,下一次查询之后再写入缓存
  • 阶段性同步缓存:redis允许数据一段时间内与数据库中的数据保持不一致,,这时增加缓存过期时间,当缓存消失之后,再查询时写入缓存
    在这里插入图片描述

2.redis缓存特性

  • 性能极高: 读速度 11w/s , 写 8w/s,
    –原因是数据操作是在内存中发生,
    – c语言开发
  • 简单稳定-源码很少,早起2w行 3.0版本支持集群,5w行
  • 持久化 – 支持RDB和AOF
  • 高可用集群- 主从集群
  • 丰富的数据类型 string, list(链表), set(集合)、zset(有序集合)、哈希
  • 客户端语言广泛
  • 支持acl权限控制, redis6开始引入
  • 支持多线程io模型 , 从6.0版本开始支持多线程,之前版本单线程

3.redis的io模型

3.1 单线程模型

在这里插入图片描述

3.2 多线程模型

内存响应时间:100ns

在这里插入图片描述

3.3 redis模型优缺点

单线程模型

  • 优点
    -1.

多线程模型

多路复用技术

多路复用的三种模型: select模型、poll模型、epoll模型

4.redis安装

docker pull redis
1)、挂载redis的配置文件
/home/redis/myredis/myredis.conf:/etc/redis/redis.conf
2)、挂载redis 的持久化文件(为了数据的持久化)。
/home/redis/myredis/data:/data 这个同上
–appendonly yes 开启redis 持久化
–requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置,我被搞过,可以看这篇文章“阿里云服务器中毒‘Kirito666’经历”)
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /home/redis/myredis/myredis.conf:/etc/redis/redis.conf -v /home/redis/myredis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 000415
3) 、进入容器
参考 auth: http://t.zoukankan.com/itjeff-p-6168823.html

docker exec -it containerid bash
redis-cli
auth 000415

在这里插入图片描述

redis配置文件启动

redis-server redis.conf

redis配置文件参数

# bind 127.0.0.1 默认0.0.0.0 
daemonize yes //后台守护进程运行
requirepass 000415 //密码配置
rename-command flushall "" //禁止使用此命令,保证数据,防止误删
rename-command flushdb "" //禁止使用此命令
在这里插入代码片

redis配置详解
https://blog.csdn.net/qq_19007335/article/details/124885668

redis停止命令

redis-cli -a 000415 shutdown
或者
shutdown //登录redis后执行

redis数据删除命令

flushall
flushdb

redis-cli连接server

redis-cli -h ip -p port -a 000415

查看linux内核版本

在这里插入图片描述

查看somaxconn的值

在这里插入图片描述
生产环境为提高并发修改参数

/etc/sysctl.conf

在这里插入图片描述

sysctl -p  #立即生效, 动态修改内核参数

查看cpu 数

lscpu

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值