目录

  • Redis简介
  • 下载安装包
  • 安装依赖包
  • 源码编译安装
  • 初始配置
  • 1)配置服务运行参数
  • 2)修改配置文件
  • 启动redis服务
  • 服务验证
  • 1)查看版本
  • 2)查看端口
  • 开启redis远程连接
  • 修改配置文件
  • 重启redis
  • 客户端连接redis
  • redis常用命令
  • Redis配置文件分类
  • 内存管理
  • 1)内存清除策略
  • 2)优化设置



Redis简介

Redis是一款高性能的key/value分布式内存数据库。

支持数据持久化(定期将内存里的数据存储到硬盘);

支持多种数据类型(string字符串、list列表、hash哈希、set集合、zset有序集合、bitmaps位图、GEO地理信息定位等。

支持master-slave模式数据备份;

中文网站:www.redis.cn


下载安装包

[root@harbor01 ~]# wget https://download.redis.io/releases/redis-6.2.7.tar.gz

安装依赖包

[root@harbor01 ~]# yum  install  -y  gcc

源码编译安装


[root@harbor01 ~]# tar zxvf  redis-6.2.7.tar.gz 
[root@harbor01 ~]# cd redis-6.2.7/
[root@harbor01 redis-6.2.7]# make && make install


初始配置


1)配置服务运行参数

[root@harbor01 redis-6.2.7]# ./utils/install_server.sh 
Welcome to the redis service installer
This script will help you easily set up a running redis server

2)修改配置文件

[root@harbor01 redis-6.2.7]# vim redis.conf
daemonize yes #将no改为yes,使redis可以使用守护进程方式启动


启动redis服务

  • 前台启动
[root@harbor01 redis-6.2.7]# redis-server  redis.conf   #使用配置文件启动服务


服务验证

1)查看版本

[root@harbor01 redis-6.2.7]# redis-cli  -v
redis-cli 6.2.7

2)查看端口

redis默认使用6379端口号

[root@harbor01 redis-6.2.7]# ss  -ntulp |  grep  6379
tcp LISTEN 0 128 127.0.0.1:6379 *:* users:(("redis-server",pid=1031,fd=6))
tcp LISTEN 0 128 ::1:6379 :::* users:(("redis-server",pid=1031,fd=7))


开启redis远程连接

redis默认只支持本地使用,如何开启远程连接,可以远程访问远程redis服务器呢?

修改配置文件

[root@harbor01 redis-6.2.7]# vim redis.conf 
#bind 127.0.0.1 -::1 #注释掉bind的行,运行任何主机连接
requirepass foobared #903行,redis连接的auth密码

重启redis

[root@harbor01 redis-6.2.7]# ps aux | grep  redis
root 1031 0.1 0.1 162416 2672 ? Ssl 16:32 0:03 redis-server 127.0.0.1:6379
root 1116 0.0 0.0 112720 980 pts/1 S+ 17:25 0:00 grep --color=auto redis
[root@harbor01 redis-6.2.7]# kill -9 1031 #停止redis进程
[root@harbor01 redis-6.2.7]# redis-server redis.conf #使用配置文件启动服务


客户端连接redis

[root@sc-node2 ~]# redis-cli -h 192.168.2.250 -p 6379  
192.168.2.250:6379> auth foobared #使用配置文件中的密码登录
OK
192.168.2.250:6379> set name lidabai #存储1个key
OK

在连接时使用-a参数指定连接密码。


redis常用命令

 set  key-name value     #存储单个key

 mset key1 key2 ...    #存储多个key

 get key    #获取key值

 mget    #获取多个key值(value)

 select  数据库编号(0-15)    #切换数据库

 keys  *   #显示所有key

 keys  a?    #显示指定key名

 exists key名     #测试key名是否存在

  ttl  key名      # 查看key生存时间

 type  key名      #查看key类型

 move key名  库编号   #移动Key到指定库

 expire key名  数字     #设置key有效时间

 del  key名      #删除指定key

 flushall     #删除内存里的所有key

 flushdb    #删除所在库的所有key

 save    #保存所有key到硬盘

 shutdown   #停止服务


Redis配置文件分类


NETWORK: 网络配置部分

GENERAL:常规配置部分

SNAPSHOTTING: 快照配置部分

REPLICATION: 复制配置部分

SECURITY: 安全配置部分

CLIENTS: 客户端配置部分

MEMORY  MANAGEMENT: 内存管理部分


内存管理

1)内存清除策略

 volatile-lru    最近最少使用(针对设置了TTL的key)

 volatile-lfu  从所有配置了过期时间的key中清除使用频率最少的key

 volatile-random  在设置了TTL的key中随机移除

 volatile-ttl (minor TTL)  移除最近过期的key


 allkeys-lru  最少使用的key(针对所有的key)

 allkeys-lfu   从所有key中清除使用频率最少的key

 allkeys-random   随机移除key


 noeviction    不删除


2)优化设置

maxmemory     最大内存

maxmemory-policy    定义使用策略

maxmemory-samples   选取key模板的个数(针对lru和ttl策略)