与Redis的初次相识,Redis安装、启动与配置
分类: 数据库

与Redis的初次相识,Redis安装、启动与配置

作者:@后青春期的Keats
本文为作者原创,转载请注明出处:https://www.cnblogs.com/keatsCoder/p/12635967.html


原文首发于博客园,作者:后青春期的Keats;地址:https://www.cnblogs.com/keatsCoder/ 转载请注明,谢谢!

最近有幸为公司的项目中引入了Redis,可以在实战中学习是一件很幸福的事情。故在粗读《Redis深度历险:核心原理和应用实践》后,购入《Redis开发与运维》继续学习Redis。将学习过程中一些重点内容记录下来分享给各位小伙伴

按照目前的学习情况及对Redis的认识,我打算理出来下面的知识结构。每个二级节点作为一篇独立博客。本篇是第一部分-Redis基础

1585571520993

Redis优点

  1. 速度快、为什么快?

    1. 数据在内存中
    2. 使用C语言编写,C语言和操作系统之间的路更短
    3. 单线程,避免的线程的调配与抢夺
    4. 作者编码水平高
  2. 基于键值对,很好理解

    Redis的键只支持String类型,值的类型有:String、hash、list、set、zset。以及由 String演变的 bitmaps HyperLogLog GEO 这些丰富的类型可以让我们开发者开发出很多有意思的应用

  3. 简单稳定

    Redis在3.0之前,代码只有2W行,3.0加了集群也只有5W行。随随便便一个后台管理系统的代码量(dog奈何是C语言,对于Javaer看源码成本稍微有些高)。而且是单线程模型,客户端开发很简单,Java客户端如著名的Jedis API和原生的API命名很类似,学习成本也不大。并且Redis已经在各大公司使用。足以说明其稳定性。

  4. 持久化

    作为内存数据库,有个痛点就是持久化的问题。总不能断电了数据就丢掉。Redis提供了RDB和AOF两种持久化方式,保证了数据的持久性

  5. 主从、哨兵、集群

    3.0版本后原生支持多机,很方便

Redis不足

  1. Redis数据是存储内存中的,而内存的价格决定了它无法存储特别大规模的数据。
  2. 数据是由冷、热之分的。例如:商品信息和用户查看记录。商品信息属于热数据,每一个用户都可能查看;用户查看记录属于冷数据,只有他自己偶尔看一下。如果将冷数据存储到Redis中。可以说是对Redis极大的浪费。

Redis安装

Linux下安装Redis

redis版本号中间的数字为奇数代表下一个偶数版本的开发版本。建议使用中间为偶数的稳定版。我这里使用 3.0.7 版本

下载:

wget http://download.redis.io/releases/redis-3.0.7.tar.gz

如果提示找不到命令,使用 yum 安装 wget 命令: yum -y install wget

解压:

tar xzf redis-3.0.7.tar.gz

建立Redis目录软连接。这样做是为了屏蔽Redis和版本号的关联,便于升级版本

ln -s redis-3.0.7 redis

安装:

# 检查有没有安装 gcc,
gcc -v
# 如果是 commond not found 则没有安装,需要输入以下命令安装
yum install gcc
# 开始安装
cd redis
make # 编译
make install # 安装

启动Redis

redis-server

如果需要配置命令启动,可以通过以下的方式:

redis-server --configKey1 v1 --cK2 v2

生产环境一般建议将参数写到配置文件中,然后指定配置文件启动

redis-server /opt/redis/redis.config # 配置文件的绝对路径

Redis基础配置

配置名 说明 提醒
port 端口,默认6379
logfile 日志文件 配置到xxx文件而不是目录
dir Redis工作目录,存储日志文件和持久化文件

Redis客户端

redis-cli -h {host} -p {por
t} # 默认是 127.0.0.1 6379

关闭Redis

shutdown

ctrl -c 前台运行的话,关闭命令行

不建议 kill -9 强制关闭,会来不及持久化,导致数据丢失

posted @   后青春期的Keats  阅读(240)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示