Redis 简介和安装

             # Redis 介绍安装

1.Redis介绍

Remote Dictionary Server (远程字典服务器)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一种高性能的Key-value数据库提供了丰富的数据结构,例如String,Hash,List,Set,SortedSet等等。数据是存在内存中,同时支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性。提供了主从模式、Redis Sentinel和redis Cluster集群架构方案。

2.主要功能

2.1主流功能与应用

1.分布式缓存,挡在Mysql数据之前的带刀侍卫
与传统数据库关系(mysql) Redis是key-value数据库(NoSQL一种),Mysql是关系数据库,Redis数据操作主要在内存,而Mysql主要存储在磁盘;Redis在某一些场景使用中明显优于Mysql,如计数器、排行榜等方面。Redis通常用于一些特定的场景,需要与Mysql一起配合使用,两者并不是相互替换和竞争关系,而是共用和配合使用
img
2.高可用架构搭配-单机、主从、哨兵、集群
3.分布式锁

2.2总体功能概述

img

2.3优势

1.性能极高-Redis能读的速度是110000次/秒,写的速度是81000次/秒
2.Redis数据类型丰富,不仅仅支持简单的key-value类型的数据,同时还提供list、set、zset、hash等数据结构存储
3.Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可再次进行加载进行使用
4.Redis支持数据的备份,即master-slave模式的数据备份

2.4总结

img

3.下载

3.1官网地址

英文官网:https://redis.io/
中文官网:http://www.redis.cn/

3.2 下载

下载地址:https://redis.io/download/

4.安装

4.1环境准备

1.Linux环境安装Redis必须具备gcc编译环境,GCC是linux下的一个编译程序,是C程序的编译工具
2.查看 gcc -v
img
3.将下载的redis-7.0.10.tar.gz放入 /usr/local/下
4.解压

  tar -zxvf redis-7.0.10.tar.gz

5.修改文件名

  mv redis-7.0.10 redis
  cd redis
  make& make install

6.启动和停止

默认启动
如上,在命令redis-server即启动redis服务端。且接受客户端连接

根据设置启动

在 /usr/local/redis目录下建立bin,etc,db三个目录

把/usr/local/redis/src目录下的mkreleasehdr.sh,redis-benchmark, redis-check-rdb, redis-cli, redis-server拷贝到bin目录

在etc下,新建配置redis.conf,内容如下。

/usr/local/redis下新建日志文件log-redis.log,并修改当前用户使用权限。sudo chown -R shoren /usr/local/redis/

启动服务端:redis-server /usr/local/redis/etc/redis.conf

    #修改为守护模式
    daemonize yes

    #设置进程锁文件
    pidfile /usr/local/redis/redis.pid

    #端口
    port 6379

    #客户端超时时间
    timeout 300

    #日志级别
    loglevel debug

    #日志文件位置
    logfile /usr/local/redis/log-redis.log

    #设置数据库的数量,默认数据库为16,可以使用SELECT 命令在连接上指定数据库id
    databases 16

    ##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
    #save

    #Redis默认配置文件中提供了三个条件:
    save 900 1
    save 300 10
    save 60 10000

    #指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,
    #可以关闭该#选项,但会导致数据库文件变的巨大
    rdbcompression yes

    #指定本地数据库文件名
    dbfilename dump.rdb

    #指定本地数据库路径
    dir /usr/local/redis/db/

    #指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能
    #会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有
    #的数据会在一段时间内只存在于内存中
    appendonly no

    #指定更新日志条件,共有3个可选值:
    #no:表示等操作系统进行数据缓存同步到磁盘(快)
    #always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
    #everysec:表示每秒同步一次(折衷,默认值)
    appendfsync everysec

接着,可以查看日志,如下,表示启动成功:

                    _._                                                  
            _.-``__ ''-._                                             
        _.-``    `.  `_.  ''-._           Redis 3.2.5 (00000000/0) 64 bit
    .-`` .-```.  ```\/    _.,_ ''-._                                   
    (    '      ,       .-`  | `,    )     Running in standalone mode
    |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
    |    `-._   `._    /     _.-'    |     PID: 14447
    `-._    `-._  `-./  _.-'    _.-'                                   
    |`-._`-._    `-.__.-'    _.-'_.-'|                                  
    |    `-._`-._        _.-'_.-'    |           http://redis.io        
    `-._    `-._`-.__.-'_.-'    _.-'                                   
    |`-._`-._    `-.__.-'    _.-'_.-'|                                  
    |    `-._`-._        _.-'_.-'    |                                  
    `-._    `-._`-.__.-'_.-'    _.-'                                   
        `-._    `-.__.-'    _.-'                                       
            `-._        _.-'                                           
                `-.__.-'                                               

    14447:M 24 Apr 17:57:33.215 # Server started, Redis version 3.2.5
    14447:M 24 Apr 17:57:33.215 * The server is now ready to accept connections on port 6379
    14447:M 24 Apr 17:57:33.215 - 0 clients connected (0 slaves), 956832 bytes in use
    14447:M 24 Apr 17:57:38.257 - 0 clients connected (0 slaves), 956832 bytes in use

关闭服务端
强行关闭

强行终止redis进程可能会导致数据丢失,因为redis可能正在将内存数据同步到硬盘中。

     ps axu|grep redis  ## 查找redis-server的PID
     kill -9 PID

命令关闭

向redis发送SHUTDOWN命令,即 redis-cli SHUTDOWN 。Redis收到命令后,服务端会断开所有客户端的连接,然后根据配置执行持久化,最后退出。

     ## 启动redis-server,后台线程
     AT8775:redis shoren$ redis-server /usr/local/redis/etc/redis.conf 
     ## 启动成功
     AT8775:redis shoren$ ps axu|grep redis
     shoren           14948   0.0  0.0  2434840    760 s000  S+   10:18上午   0:00.00 grep redis
     shoren           14946   0.0  0.0  2452968   1492   ??  Ss   10:18上午   0:00.01 redis-server *:6379 
     ## 关闭服务器
     AT8775:redis shoren$ redis-cli shutdown
     ##关闭成功
     AT8775:redis shoren$ ps axu|grep redis
     shoren           14952   0.0  0.0  2435864    772 s000  S+   10:19上午   0:00.01 grep redis
    启动客户端
    默认启动
    使用命令redis-cli启动客户端,按照默认配置连接Redis(127.0.0.1:6379)。
    
    指定地址和端口号
    使用命令 redis-cli -h 127.0.0.1 -p 6379
    关闭客户端

    交互模式使用quit
      AT8775:redis shoren$ redis-cli -h 127.0.0.1 -p 6379
      ## 简单使用setget命令
      127.0.0.1:6379> set key value12
      OK
      127.0.0.1:6379> get key
      "value12"
      127.0.0.1:6379> quit
posted @   古拉加斯·浩二  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示