IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis的安装和使用 -> 正文阅读

[大数据]Redis的安装和使用

1、Redis的安装

1、查看是否安装了redis的编译环境(redis是由C语言编写的,它的运行需要C环境)

rpm -qa | grep -i gcc

在这里插入图片描述
若没有安装redis的编译环境,使用如下命令安装
安装命令:yum install gcc-c++

2、从redis官网下载redis的压缩包。
在这里插入图片描述

3、使用Xftp工具将redis压缩包上传到linux。
在这里插入图片描述

4、将redis压缩包解压到/usr/software

tar -xvf redis-7.0.0.tar.gz -C /usr/software

在这里插入图片描述
5、进入到redis-7.0.0目录

cd /usr/software/redis-7.0.0

在这里插入图片描述
6、在redis-7.0.0目录输入make命令,对解压后的文件进行编译
在这里插入图片描述
7、安装redis(需要进入到redis解压后的目录中进行安装)

make PREFIX=/usr/software/redis install

PREFIX=/usr/software/redis的意思是将redis安装到/usr/software/redis目录下
在这里插入图片描述

安装完成!在/usr/software目录下,会有一个redis目录
在这里插入图片描述
8、进入redis目录,下面有个bin目录,bin目录下有几个可执行文件
在这里插入图片描述
redis-benchmark ----性能测试工具
redis-check-aof ----AOF文件修复工具
redis-check-dump ----RDB文件检查工具(快照持久化文件)
redis-cli ----命令行客户端
redis-server ----redis服务器启动命令

2、Redis的启动和停止

2.1、前端模式启动(不推荐使用)

#进入到/usr/soft/redis/bin目录下,执行redis-server
cd /usr/software/redis/bin
./redis-server

在这里插入图片描述

缺点:启动完成后,不能再进行其他操作,如果要操作必须使用ctrl+c,此时redis-server程序结束,不推荐使用此方法。

2.2、后端模式启动(推荐使用)

(1)需要使用redis的配置文件redis.conf,该文件的位置:/usr/software/redis-7.0.0/redis.conf,在这个配置文件中,可以修改端口号等信息,为了方便使用,将该配置文件copy一份到redis的bin目录下。

cp /usr/software/redis-7.0.0/redis.conf  /usr/software/redis/bin

在这里插入图片描述

(2)然后修改该配置文件中的daemonize no为daemonize yes

vim /usr/software/redis/bin/redis.conf

在这里插入图片描述
先不进入编辑模式,内容太多,需要搜索,在命令模式下输入/daemonize no,回车。
在这里插入图片描述
然后再按 Shift + A,进入编辑模式并将光标定位在当前行的末尾,将no改为yes
在这里插入图片描述
按esc退出编辑模式,按:wq保存修改并退出文件。
(3)启动redis

cd /usr/software/redis/bin
./redis-server  redis.conf

2.3、关闭Redis

强制结束Redis程序,可能会导致redis持久化数据丢失!企业中禁止使用!

查看redis进程端口占用

ps -ef | grep -i redis

在这里插入图片描述
强制杀死进程:kill -9 5718

正确停止Redis的方式应该是向Redis发送shutdown命令
方式一:

cd /usr/sfotware/redis/bin

./redis-cli shutdown

方式二:
在这里插入图片描述

3、redis的简单使用

3.1、ping

ping [message]:测试客户端与Redis服务的连接是否正常,如果连接正常会收到回复PONG(如果指定message,则原样回复)。
在这里插入图片描述

3.2、set/get:存储值。(get命令只能用于获取String value

在这里插入图片描述
set value为中文,get取值时乱码。
在这里插入图片描述
解决方法:连接redis服务器时使用命令:./redis-cli --raw
在这里插入图片描述

3.3、echo

echo message:在命令行打印一些内容
在这里插入图片描述

3.4、info

info:获取服务器的信息和相关统计。
在这里插入图片描述

3.5、操作key

keys pattern:获取所有与pattern匹配的key。pattern中 * 表示任意多个字符,?表示任意一个字符
在这里插入图片描述
del key1 ke2 key3:删除key对应的数据
在这里插入图片描述
exists key:判断指定的key是否存在,0代表不存在,大于0表示存在
在这里插入图片描述
rename oldkey newkey:为当前的key重命名
在这里插入图片描述
expire key :设置超时时间,单位:秒(超时后,会删除设置超时的key的数据)
在这里插入图片描述
ttl key:获取该key所剩的超时时间,如果没有设置,返回-1,返回-2表示key本身不存在。
在这里插入图片描述
type key:获取指定的key对应数据的类型:string、hash、list、set或zset
在这里插入图片描述

3.5、操作value

incr key:将指定的key对应的value递增1。
decr key:将指定的key的value递减1。
在这里插入图片描述
incrby key increment:将指定的key的value增加increment。
decrby key decrment:将指定的key的value减少decrement。
在这里插入图片描述
如果希望操作小数,可以使用命令:incrbyfloat key increment,没有decrbyfloat,可以使用正数表示增加,负数表示减少。
在这里插入图片描述

3.6、字符串拼接

append key value:如果该key存在,则在原有的value后追加该值;如果该key不存在,则重新创建一个key/value,返回值为追加后的长度!
在这里插入图片描述

4、redis的五种数据类型

value支持五种基本数据类型:

  • 字符串(String)
  • 哈希(hash)
  • 列表(list)
  • 集合(set)
  • 有序集合(sorted set)

5、hash常用命令

5.1、hash赋值

hset key field value:为指定的key设定field-value对(键值对)。
在这里插入图片描述

5.2、hash取值

hget key field:获取key中的单个field的值(单个)
hmget key fileds:获取key中的多个filed的值(多个)
hgetall key:获取key中的所有filed-value(所有)
在这里插入图片描述

5.3、hash删除

hdel key field [field … ] :可以删除一个或多个字段,返回值是被删除的字段个数。
在这里插入图片描述
del key :删除整个hash
在这里插入图片描述

5.4、其它命令

hexists key field:判断指定的key中的filed是否存在(只能单个)
在这里插入图片描述
hlen key:获取key所包含的field的数量
hkeys key :获得key所有field
hvals key:获得key所有的value
在这里插入图片描述

6、list常用命令

6.1、两端插入(列表插入值)

lpush key value…:在list的头部插入所有给定的值,如果该key不存在,则自动创建新list再操作,返回所有元素的个数。(前插法)
在这里插入图片描述
rpush key value…:在list的尾部插入所有给定的值,如果该key不存在,则自动创建新list再操作,返回所有元素的个数。(后插法)
在这里插入图片描述
lpushx key value [value…]:将给定的值插入到已存在的列表头部,如果列表不存在,则不插入。
rpushx key value [value…]:将给定的值插入到已存在的列表尾部,如果列表不存在,则不插入。
在这里插入图片描述

6.2、两端弹出(删除)

lpop key [count]:弹出并返回list中第一个元素,如果该key不存在,返回(nil)。count表示弹出几个,默认为1(左→右)
在这里插入图片描述
rpop key [count]:弹出并返回list中最后一个元素,如果该key不存在,返回(nil)。count表示弹出几个,默认为1(右→左)
在这里插入图片描述

6.3、获取长度

llen key:返回指定的key关联的链表中的元素的数量,如果list不存在,返回0。
在这里插入图片描述

6.4、删除多个相同的value

lrem key count value:删除count个值为value的元素,count 的值可以是以下几种:
count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count。
count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
count = 0 : 移除表中所有与 value 相等的值。
在这里插入图片描述

6.5、根据index修改值

lset key index value:设置链表中索引为index的元素值,0表示第一个,-1表示最后一个,索引不存在则抛异常。
在这里插入图片描述

6.6、在指定value前后插入

linsert key before|after pivot value:在pivot元素前或者后插入value。
在这里插入图片描述

6.7、操作两个list

rpoplpush resource destination:移除resource列表的最后一个元素,并将该元素添加到destination列表的头部。
在这里插入图片描述

7、set(Set集合中不允许出现重复的元素)

7.1、存值和取值

sadd key member… :向Set中添加值,如果值已存在则不添加,返回添加成功的元素个数。
smembers key:获得集合中的所有元素。
在这里插入图片描述
srem key value… :删除Set中指定的值,返回移除元素的个数。
在这里插入图片描述

7.2、判断某个值是否存在

sismember key member:判断Set中是否存在指定的值,1表示存在,0表示不存在或者该key本身就不存在。
如果希望准确判断到底是key本身不存在,还是key对应的set中的值不存在,可以结合exists key先判断key对应的set是否存在(返回0表示key对应的set不存在),从而得出准确结论。
在这里插入图片描述

7.3 、差集、并集、交集

7.3.1、差集

sdiff key1 key2…:只在key1中存在的元素,称为“差集”。
在这里插入图片描述

7.3.2、交集

sinter key1 key2…:在key1和key2中都存在的元素,称为“交集”。
在这里插入图片描述

7.3.3、并集

sunion key1 key2…:在key1和key2中的所有元素(去重),称为“并集”。
在这里插入图片描述

7.3.4、获取差集、并集、交集的结果

sdiffstore destination key1 key2…:将返回的差集存储在destination上
sinterstore destination key1 key2:将返回的交集存储在destination上
sunionstore destination key1 key2:将返回的并集存储在destination上

7.4、获取随机成员

scard key:获取set中成员的数量
在这里插入图片描述
srandmember key:随机返回set中的一个成员,可以用于抽取幸运用户!
在这里插入图片描述

8、 zset(有序集合)

set和zset主要差别是Sorted-Set中的每一个成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。然而需要额外指出的是,尽管Sorted-Set中的成员必须是唯一的,但是分数(score)却是可以重复的。

8.1 添加元素

zadd key score member score2 member2 …:将所有成员以及该成员的分数存放到sorted-set中。如果该元素已经存在则会用新的分数替换原有的分数。返回值是新加入到集合中的元素个数,不包含之前已经存在的元素。

8.2 获取元素

zscore key member:返回指定成员的分数
在这里插入图片描述
zrange key start stop [withscores]:按分数从小到大的顺序返回索引从start到stop之间的所有元素(包含两端的元素),[withscores]参数表明返回的成员包含其分数。(正序排列)
在这里插入图片描述
zrevrange key start stop [withscores]:按分数从大到小的顺序返回索引从start到stop之间的所有元素(包含两端的元素),(反序排列)
在这里插入图片描述
zrangebyscore key min max [withscores] [limit offset count]:返回分数在[min,max]的成员并按照分数从低到高排序。[withscores]:显示分数;
[limit offset count]:offset,索引从offset开始的count个元素。
在这里插入图片描述

8.2 、删除元素

zrem key member [member…]:移除集合中指定的成员,可以指定多个成员。
在这里插入图片描述
zremrangebyrank key start stop:删除索引在start-stop之间的成员,包括两端的成员。
在这里插入图片描述

zremrangebyscore key min max:按照分数范围删除元素
在这里插入图片描述
zremrangebylex key min max:按照字典(元素)范围删除元素
该命令的使用前提是所有元素的分数必须一致!
在这里插入图片描述

8.3、改变数值

zincrby key increment member:给指定的成员增加指定的分数。返回值是更改后的分数。
该命令常用于投票,或者点击某个微博标题增加热度的时候使用!
在这里插入图片描述

8.4、 其他命令

zcount key min max:获取分数在[min,max]之间的成员个数
在这里插入图片描述
zrank key member:返回成员在集合中的排名。(从小到大)
zrevrank key member:返回成员在集合中的排名。(从大到小)
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-14 10:00:40  更:2022-05-14 10:02:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 6:30:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码