linux 安装redis 完整步骤

时间:2022-09-08 21:59:30

最近在linux服务器上需要安装redis,来存放数据,增加用户访问数据的速度,由于是第一次安装,于是在百度上搜了一篇文章,按照这篇博客,顺利安装好了,因此将博主的文章拷过来记录一下,方便以后使用,也为需要的朋友提供一个方便,

参考博文地址:https://www.cnblogs.com/lauhp/p/8487029.html

安装:

1.获取redis资源

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

2.解压

  tar xzvf redis-4.0.8.tar.gz

3.安装

  cd redis-4.0.8

  make

  cd src

  make install PREFIX=/usr/local/redis

4.移动配置文件到安装目录下

  cd ../

  mkdir /usr/local/redis/etc

  mv redis.conf /usr/local/redis/etc

5.配置redis为后台启动

  vi /usr/local/redis/etc/redis.conf //将daemonize no 改成daemonize yes

6.将redis加入到开机启动

  vi /etc/rc.local //在里面添加内容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)

7.开启redis

  /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

8.将redis-cli,redis-server拷贝到bin下,让redis-cli指令可以在任意目录下直接使用

  cp /usr/local/redis/bin/redis-server /usr/local/bin/

  cp /usr/local/redis/bin/redis-cli /usr/local/bin/

9.设置redis密码

  a.运行命令:redis-cli

  b.查看现有的redis密码(可选操作,可以没有)

    运行命令:config get requirepass 如果没有设置过密码的话运行结果会如下图所示

  c.设置redis密码

    运行命令:config set requirepass ****(****为你要设置的密码),设置成功的话会返回‘OK’字样

  d.测试连接

    重启redis服务

    //(redis-cli -h 127.0.0.1 -p 6379 -a ****(****为你设置的密码))

    输入 redis-cli 进入命令模式,使用 auth '*****' (****为你设置的密码)登陆     

10.让外网能够访问redis

    a.配置防火墙:  firewall-cmd --zone=public --add-port=6379/tcp --permanent(开放6379端口)

          systemctl restart firewalld(重启防火墙以使配置即时生效)

     查看系统所有开放的端口:firewall-cmd --zone=public --list-ports

    

    b.此时 虽然防火墙开放了6379端口,但是外网还是无法访问的,因为redis监听的是127.0.0.1:6379,并不监听外网的请求。

      (一)把文件夹目录里的redis.conf配置文件里的bind 127.0.0.1前面加#注释掉

      (二)命令:redis-cli连接到redis后,通过 config get  daemonize和config get  protected-mode 是不是都为no,如果不是,就用config set 配置名 属性 改为no。

      linux 安装redis 完整步骤

常用命令  

  redis-server /usr/local/redis/etc/redis.conf //启动redis

  pkill redis  //停止redis

  卸载redis:

    rm -rf /usr/local/redis //删除安装目录

    rm -rf /usr/bin/redis-* //删除所有redis相关命令脚本

    rm -rf /root/download/redis-4.0.4 //删除redis解压文件夹

8-启动redis:

两种方式:

redis-server &
加上`&`号使redis以后台程序方式运行

或者是

redis-server

9-检测后台进程是否存在

ps -ef |grep redis

10-检测6379端口是否在监听

netstat -lntp | grep 6379

有时候会报异常

linux 安装redis 完整步骤

原因: Redis已经启动

解决: 关掉Redis,重启即可

  1.  
    redis-cli shutdown
  2.  
    redis-server

然后你就能看到Redis愉快的运行了.

使用redis-cli客户端检测连接是否正常

  1.  
    redis-cli
  2.  
    127.0.0.1:6379> keys *
  3.  
    (empty list or set)
  4.  
    127.0.0.1:6379> set key "hello world"
  5.  
    OK
  6.  
    127.0.0.1:6379> get key
  7.  
    "hello world"

停止redis:

使用客户端

redis-cli shutdown

因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的

kill -9 PID

#启动redis服务端
$ src/redis-server
 
 
#启动redis客户端
$ src/redis-cli

Redis客户端常见操作

Redis是key-value数据库,支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

  • 当value是string类型,命令包括set get setnx incr del 等。

> set server:name "fido"  // 设置键值
OK
> get server:name  // 获取键值
"fido"
> setnx connections 10   // set if not exists
OK
> incr connections   // 原子性增加values值
(integer) 11
> incr connections
(integer) 12
> del connections  // 删除key
(integer) 1
> incr connections
(integer) 1

当value是list类型,命令包括rpush lpush llen lrange lpop rpop del 等。

> rpush friends "Alice"   // 在末尾追加
(integer) 1
> rpush friends "Bob"
(integer) 2
> lpush friends "Sam"    // 插入到开头
(integer) 3
 
> lrange friends 0 -1     // 返回列表的子集,类似切片操作
1) "Sam"
2) "Alice"
3) "Bob"
> lrange friends 0 1
1) "Sam"
2) "Alice"
> lrange friends 1 2
1) "Alice"
2) "Bob"
 
> llen friends   // 返回列表长度
(integer) 3
> lpop friends   // 删除并返回列表第一个元素
"Sam"
> rpop friends   // 删除并返回列表最后一个元素
"Bob"
> lrange friends 0 -1
1) "Alice"
 
> del friends    // 删除key
(integer) 1     // 1表示成功,0表示失败

当value是set类型,命令包括sadd srem sismember smembers sunion del等。

> sadd superpowers "flight"     // 添加元素
(integer) 1
> sadd superpowers "x-ray vision"
(integer) 1
> sadd superpowers "reflexes"
(integer) 1
> srem superpowers "reflexes"   // 删除元素
1
 
> sismember superpowers "flight"   // 测试元素是否在集合中
(integer) 1
> sismember superpowers "reflexes"
(integer) 0
> smembers superpowers    // 返回集合中所有元素
1) "x-ray vision"
2) "flight"
 
> sadd birdpowers "pecking"
(integer) 1
> sadd birdpowers "flight"
(integer) 1
> sunion superpowers birdpowers    // 合并多个set,返回合并后的元素列表
1) "x-ray vision"
2) "flight"
3) "pecking"
 
> del superpowers   // 删除key

(integer) 1

当value是zset类型,命令包括 zadd zrange del等,注意给value一个编号用于排序。

> zadd hacker 1940 "Alan Kay"     // 给value指定一个编号,比如以年份1940作为编号
(integer) 1
> zadd hacker 1906 "Grace Hopper"
(integer) 1
> zadd hacker 1953 "Richard Stallman"
(integer) 1
> zadd hacker 1965 "Yukihiro Matsumoto"
(integer) 1
> zadd hacker 1916 "Claude Shannon"
(integer) 1
> zadd hacker 1969 "Linux Torvalds"
(integer) 1
> zadd hacker 1957 "Sophie Wilson"
(integer) 1
> zadd hacker 1912 "Alan Turing"
(integer) 1
 
> zrange hacker 2 4    // 切片返回有序集合中元素
1) "Claude Shannon"
2) "Alan Kay"
3) "Richard Stallman"
 
> del hacker    // 删除key

(integer) 1

当value是hash类型,hash类型可以理解为字典,需要给value指定一个field用于映射,命令包括hset hmset hget hgetall hdel hincrby del 等。

> hset user:1000 name "John Smith"   // 给value指定一个field,比如name
(integer) 1
> hset user:1000 email "john.smith@example.com"
(integer) 1
> hset user:1000 password "s3cret"
(integer) 1
> hgetall user:1000   // 获得hash表中所有成员,包括field和value
1) "name"
2) "John Smith"
3) "email"
4) "john.smith@example.com"
5) "password"
6) "s3cret"
 
> hmset user:1001 name "Mary Jones" password "hidden" email
"mjones@example.com"   // 设置多个field和value
OK
> hget user:1001 name   // 根据field获取value
"Mary Jones"
  
> hset user:1000 visits 10    // field可以映射到数字值
(integer) 1
> hincrby user:1000 visits 1    // 原子性增加value的值,增加1
(integer) 11
> hincrby user:1000 visits 10    // 增加10
(integer) 21
> hdel user:1000 visits      // 删除field及其value
(integer) 1
> hincrby user:1000 visits 1
(integer) 1
 
> del user:1000     // 删除key

(integer) 1

设置和查看key的生命周期,key过期会被自动删除,命令包括expire ttl 等。

> set resource:lock "Redis Demo"
OK
> expire resource:lock 120   // 设置生命周期为120s
(integer) 1
> ttl resource:lock   // 查看当前生命周期还剩多少时间
(integer) 109
> ttl resource:lock   // 120s后查看,返回-2表示已过期或不存在
(integer) -2
 
> set resource:lock "Redis Demo 2"
OK
> ttl resource:lock    // 返回-1表示永不过期
(integer) -1

查看linux上面是否有安装redis,redis启动

1、检测是否有安装redis-cli和redis-server;

  1.  
    [root@localhost bin]# whereis redis-cli
  2.  
    redis-cli: /usr/bin/redis-cli
  3.  
     
  4.  
    [root@localhost bin]# whereis redis-server
  5.  
    redis-server: /usr/bin/redis-server

Linux系统下设置redis的密码

Linux系统下设置redis的密码:

1、进入redis操作的命令行

运行命令:redis-cli

2、查看现有的redis密码(可选操作,可以没有)

运行命令:config get requirepass如果没有设置过密码的话运行结果会如下图所示

linux 安装redis 完整步骤

3、设置redis密码

运行命令:config set requirepass ****(****为你要设置的密码),设置成功的话会返回‘OK’字样

4、重启redis服务

ctrl+C退出当前的命令行模式后运行命令:

redis-cli -h 127.0.0.1 -p 6379 -a ****(****为你心设置的密码)

linux 安装redis 完整步骤的更多相关文章

  1. linux安装redis 完整步骤

    原文连接:https://www.cnblogs.com/lauhp/p/8487029.html 安装: 1.获取redis资源 wget http://download.redis.io/rele ...

  2. linux安装redis详细步骤(系统centos 6.4 )

    1.安装redis 进入安装目录下载: cd  /usr/local/redis wget http://download.redis.io/releases/redis-3.0.7.tar.gz 解 ...

  3. 阿里云Linux服务器安装Redis 完整步骤(包括处理远程连接问题)

    跟随本篇文章步骤,包你成功安装并连接使用. 1.获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz 2.解压 tar ...

  4. Linux安装JDK完整步骤

    1.检查一下系统中的jdk版本 [root@localhost software]# java -version 显示: openjdk version "1.8.0_102" O ...

  5. Linux安装redis服务器和部署

    Linux安装redis和部署 第一步:下载安装包 wget http://download.redis.io/releases/redis-5.0.5.tar.gz 访问https://redis. ...

  6. Linux安装redis服务器

    Linux安装redis服务器 初次接触,这里简单的说下我遇到的情况以及安装方法,当然也是参考了诸位大神的. 确定虚拟机的主机IP. 1)首先需要一个linux虚拟机,确定虚拟机的ip ,输入命令:# ...

  7. Linux 安装Redis<准备>(使用Mac远程访问)

    阅读本文需要一定的Linux基础 一 Redis简介 redis是用c语言编写的一款开源的高性能键值对(key-value)数据库 它通过提供多种键值数据类型来适应不同场景下的存储需求 二 Redis ...

  8. 1.Linux安装redis

    Linux安装redis 操作系统是Centos7 1.下载压缩包 2.解压 3.编译 4.启动redis 5.设置redis.conf和防火墙端口开放,外网可以访问 1.下载压缩包 下载地址:htt ...

  9. Linux安装Redis,在测试阶段即make test出现“You need tcl 8.5 or newer in order to run the Redis test”问题解决方案

    Linux安装Redis,在测试阶段即make test出现"You need tcl 8.5 or newer in order to run the Redis test"问题 ...

随机推荐

  1. 【leetcode】Longest Common Prefix

    题目简述: Write a function to find the longest common prefix string amongst an array of strings. 解题思路: c ...

  2. jQ函数after、append、appendTo的区别

    1.after函数定义和用法:after() 方法在被选元素后插入指定的内容.参考:http://keleyi.com/a/bjac/cfyxd60g.htm 语法:$(selector).after ...

  3. [CentOS] 使用gitolite搭建git服务端

    1. 创建用户 #创建gitadmin用户 useradd gitadmin #设置gitadmin密码 passwd gitadmin #创建git用户 useradd git #设置git密码 p ...

  4. HTML学习笔记 w3sCss盒子模型应用案例(div布局) 第十一节 (原创) 参考使用表

    * { margin: 0px; padding: 0px; } .top { width: 100%; height: 50px; background-color: antiquewhite; } ...

  5. c_数据结构_顺序表

    #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define LIST_INIT_SIZE 100 // 线性表存储空间的初始分配量 #define ...

  6. [Ting's笔记Day4]将Ruby on Rails项目部署到Heroku

    今天想笔记的是把自己写的Ruby on Rails项目部署(Deploy)到Heroku! Heroku是Salesforce公司旗下的云端服务商,支持多种程序语言像是Ruby,PHP,Python等 ...

  7. u-boot全面分析

    uboot主Makefile分析1 uboot住Makefile分析参考:https://www.2cto.com/kf/201607/522424.html uboot version确定(Make ...

  8. 解决jupyter中无自己创建的虚拟环境

    最近看的教程都是用的jupyter,按理说都一样吧,但是pycharm中python有的模块就弃用了,而jupyter却都可以用,而且jupyter听说也不错,就配置了一下下 1.打开cmd,激活你的 ...

  9. 用 C# 编写 NEO 智能合约

    工具 -> 扩展和更新安装 NeoContractPlugin 插件 打开 Visual Studio 2017,打开 工具, 扩展和更新 ,在左侧点击 联机 ,搜索 Neo,安装 NeoCon ...

  10. scrapy 是指user_agent

    1.倒入random模块 2.在settings文件中添加useragent列表 MY_USER_AGENT = [ "Mozilla/4.0 (compatible; MSIE 6.0; ...