目录

一、Redis简介

NoSQL与SQL的区别

二、Linux上安装redis

上传并解压redis.gz

进入 redis的解压目录,执行命令 make

​编辑

修改redis为守护进程

们测试一下能否远程连接RedisDesktopManager客户端

开放6379端口

授权,允许远程连接

三、redis命令

Redis字符串(String)

Redis哈希(Hash)

Redis列表(List)

Redis集合(Set)


一、Redis简介

Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。

它支持 字符串(String)、哈希表(hash)、列表(list)、集合(set)、有序集合(zset-- sort set),位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区

Redis用途:1. 数据库 2. 缓存

作用:提升程序运行的效率与性能

集群:哨兵、主从、分片式

#下载
redis-5.0.0.tar.gz(linux)
Redis-x64-3.2.100.msi(window安装版)
Redis-x64-3.2.100.zip(window解压版)

NoSQL与SQL的区别

NoSQl数据库(非关系数据库):Redis、Ehcache、MongoDB等 ----直接通过键值对的方式取值,数据之间不存在关系

SQL数据库(关系数据库):SQLServer、Oracle、MySQL等 ----通过查询表的方式获取数据

二、Linux上安装redis

上传并解压redis.gz

将Redis的安装包拖进MobaXterm中

#1.解压redis
tar -zxvf redis-5.0.0.tar.gz 

#2.安装gcc
yum install -y gccRedis与Tomcat最大的区别就是,redis的使用需要gcc的环境支持,才能使用

安装好之后还需要将Redis编译一下

进入 redis的解压目录,执行命令 make

#3.编译redis
cd /redis-5.0.0make(需进入Redis的解压目录执行命令-编译)

编译完成之后,redis就能运行了,但是是非守护进程方式。而非守护进程不能输入其他命令,想输入的时候只能Ctrl+c,但Ctrl+c的时候服务会停止,所有我们需要修改redis的配置,改成守护进程

注:Redis端口号:6379

修改redis为守护进程

#4.修改redis.conf文件,将Redis修改为守护进程
先将redis.conf 备份
cp redis.conf  redis.conf.bak20220809
进入redis.conf文件,将daemonize no 改为 daemonize yes

注意:当连接工具不能直接打开文件编辑,那么需要通过以下方法进行快速查找

# Linux在文件中查找关键字 vim xxx.conf 先"/" 然后"关键字" 再enter; 如果第一个不是你想找到的目标,"n"指找下一个
#5.启动redis
./(src-需要在src里面/)redis-server ../redis.conf
通过哪个配置文件去启动Redis

#6.测试redis启动是否成功
./(src/)redis-cli
ping
(会回应一个 PONG)

们测试一下能否远程连接RedisDesktopManager客户端

可以看到,是连接不上的。

原因:1.redis的端口号6379没有开放。2. redis.conf 里面还缺少了配置

开放6379端口

开放redis端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#更新防火墙规则
firewall-cmd --reload
#查看防火墙列表
firewall-cmd --zone=public --list-ports

授权,允许远程连接

再次修改redis.conf文件

更改密码 更改完之后查看一下redis的服务是否是启动的 

服务还是启动的,但我们的配置已经更改了,所以我们需要杀掉redis进程

kill -9 进程 pid
再次启动
./(src/)redis-server ../redis.conf
就能远程连接了

注意 lsof -i:6379 里的数字

再看一下进程,就会发现已经关闭了

 再次远程连接RedisDesktopManager

看到这个就代表连接成功了。

再次测试redis启动是否成功

为什么我们ping了之后没有返回pong呢?

因为我们配置了外连接和密码,测试redis启动的命令也需要更改

客户端redis-cli链接redis,重新测试
./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456
ping
select 1

-h:本机IP地址,-p:端口号,-a:密码

连接Redis出现无法连接到Redis连接被拒绝。

问题:Could not connect to Redis at 127.0.0.1:6379: Connection refused

可能原因:未启动redis服务器端

redis-server redis.conf

就OK啦

三、redis命令

切换数据库

Redis字符串(String)

String(字符串) 它是redis最基本的数据类型,一个key对应一个value,需要注意是一个键值最大存储512MB

# set key          //保存
set name zs
set age 12
set sex nan# get key          //获取
get name# del key        //删除
del name# type key         //查看类型
type age   //string 说明type返回的是键值对存储类型,而不是值存储类型# keys *或keys key //查看所有或者指定的key
keys *# SETEX KEY_NAME TIMEOUT VALUE// 给键值对设置过期时间
setex zs 60 live# ttl key// 获取键值对剩余的存活时间
ttl zs

Redis哈希(Hash)

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

# hset key field1 value1 [field2 value2]  #同时将多个field-value设置到哈希表key中
hset user name zs age 12 sex nv# hget key field                          #获取指定的字段值
hget user age# hdel key field                          #删除指定的字段值
hdel user age# hgetall key                             #查询指定key的所有字段
hgetall user# hexists key field                       #查询指定key中的字段是否存在
hexists user name# hlen key                                #获取指定key中的长度
hlen user

Redis列表(List)

Redis列表是简单的字符串列表,按照插入顺序排序。

你可以添加一个元素到列表的头部(左边)或者尾部(右边)

# lpush key value1 value2 value3          #将一个或多个值插入到列表头部
lpush en a b c d e f g# llen key                                #获取列表的长度
llen en# lindex key index                        #根据索引获取列表中的元素
lindex en 1 #返回f,说明下标从0开始,同时先进后出# lrange key start sop                    #查看指定范围内的元素
lrange en 1 3#返回fed,说明下标从0开始,同时先进后出

Redis集合(Set)

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

# sadd key value1 [value2]                #向集合添加一个或多个元素
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu# scard key                               #获取集合中的元素数量
scard hobby# exists key                              #是否存在
exists hobby

Redis-Linux中安装Redis、命令操作Redis相关推荐

  1. linux中安装卸载命令,Linux软件安装与卸载命令

    ./configure         检查系统信息 ./configure   --help   |   more     帮助信息 make   clean           清除之前留下的文件 ...

  2. linux中常见渗透命令

    linux中常见渗透命令 操作系统信息收集 如何查看服务器的版本? cat /etc/issue cat /etc/*-release cat /etc/lsb-release # 基于 Debian ...

  3. Linux 中安装宋体字体

    Linux中安装字体 命令安装 查看字体 安装字体 命令安装 yum install -y fontconfig mkfontscale 查看字体 #查看系统中的字体 fc-list #查看系统中的中 ...

  4. Redis+在Linux中安装使用

    Redis+在Linux中安装使用 一.安装 (一).上传redis安装包 (二).进入到rpmgcc文件下 (三).解压redis-3.2.5.tar.gz (四).启动redis 二.Redis概 ...

  5. Redis基础知识+安装+常用命令使用

    Redis NoSql概述 为什么用NoSql 单机MySQL的时代! 上古90年代,更多的是静态网页,动态交互类型的网站不多.一个基本网站访问量一般不会太大,单个数据库可以轻松应付. 现如今的大数据 ...

  6. Linux系统中iotop源码安装,在Linux系统中安装iotop命令的方法

    Linux中的iotop命令主要用于显示硬盘IO,但该命令只存在于kernelv2.6.20之后的版本, 那么要如何安装iotop命令呢?下面小编就给大家介绍下如何在Linux上安装iotop命令. ...

  7. Linux中安装和使用nohup命令

    Linux中安装和使用nohup命令 文章目录 Linux中安装和使用nohup命令 作用: 开始安装 第一步:查询nohup是否安装 第二步:下载nohup 第三步:查看下载的nohup 第四步:配 ...

  8. linux nslookup命令安装,在CentOS中安装nslookup命令

    域名查询工具nslookup并不是Win系统的专利,Linux系统中也可以使用,不过要安装,默认没有. 在CentOS中安装nslookup命令: $ sudo yum install bind-ut ...

  9. linux未找到make命令,linux中无make命令的问题(make: *** 没有指明目标并且找不到 makefile及make命令安装方法)...

    linux中无make命令的问题(make: *** 没有指明目标并且找不到 makefile及make命令安装方法) 发布时间:2020-09-15 04:09:36 来源:脚本之家 阅读:375 ...

  10. 如何在 Linux 中安装和使用 duf 命令

    导读 今天我们来分享一下如何在 Linux 中安装和使用 duf 命令. 该命令显示磁盘空间的利用率,显示方式如下图所示: duf 命令是 du 命令和 df 命令的一个结合,且结果输出是以更加易读的 ...

最新文章

  1. 大话卷积神经网络CNN,小白也能看懂的深度学习算法教程,全程干货建议收藏!...
  2. php gridview,GridView - [ Android中文手册 ] - 在线原生手册 - php中文网
  3. java中静态是什么,java中静态和非静态有什么区别
  4. 在线GUI编译分享|8ms模拟器的使用
  5. mybatis中的查询
  6. java: 错误: 不支持发行版本 5
  7. 职称计算机证书 评中级职称,软考证书如何申请评职称及职称申请流程的详细介绍...
  8. 修改oracle实例名orcl为demo
  9. python是什么-了解什么是Python面向对象(1)
  10. 思科DHCP不同网段通信
  11. PB与各种数据库连接
  12. GO PDF资源 汇总!
  13. IOS免越狱安装历史版本APP软件
  14. 华硕笔记本BIOS设置详解
  15. 计算机桌面声音图标,win7桌面右下角的小喇叭音量图标不见了怎么办?
  16. 成为独立游戏制作人需要注意的六件事
  17. QT 代码添加QScrollArea
  18. 受用一生的高效 PyCharm 使用技巧 !
  19. 中关村刀片机服务器销售,刀片服务器
  20. Android开发我音乐App

热门文章

  1. python 打印倒三角九九乘法表
  2. 玩吃鸡用什么蓝牙耳机比较好?吃鸡游戏蓝牙耳机推荐
  3. freeswitch之源码安装
  4. 基于AutoJs4的今日头条极速版读新闻
  5. 枚举属性和不可枚举属性
  6. Reflect.ownKeys()与Object.keys()区别 以及 JS中的可枚举属性与不可枚举属性
  7. 2011年.NET面试题总结(很经典的)
  8. linux用户解锁不了,无法解锁Linux用户帐户
  9. kettle案例1-计算器生成时间维度数据
  10. asList使用注意事项