返回顶部
首页 > 资讯 > 精选 >Redis的安装和实际应用
  • 852
分享到

Redis的安装和实际应用

2023-06-03 02:06:10 852人浏览 泡泡鱼
摘要

本篇内容介绍了“Redis的安装和实际应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Redis的安装下载安装包,redis-3.2.

本篇内容介绍了“Redis的安装和实际应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、Redis的安装

下载安装包,redis-3.2.9.tar.gz 网址:Http://www.redis.cn/download.html
 
第一步:进入解压 redis 的文件夹
 
 
第二步: 找到安转程序文 Makefile
 
 
 Redis的安装和实际应用
 
第三步: 执行 mkae 命令
第四步: 执行 make install
第五步: 修改 redis 的配置文件 redis.config (先备份一个原厂配置文件)
 
Redis的安装和实际应用
 
 
进入 myredis 文件中修改运行模式为后台运行,daemonize 修改成 yes
 
Redis的安装和实际应用
 
启动 redis 服务器,使用修改后配置文件的位置
 
命令: redis-server 配置文件的地址

 Redis的安装和实际应用  
如果修改redis.conf,采用redis默认的redis.conf文件, redis默认只能通过127.0.0.1:6379这个地址访问。这是由于redis有一个保护机制的存在,这样就只能在本机上操作了,如果想要远程操作就不可行了。这里需要修改redis.conf这个配置文件,在配置文件中添加本机ip地址,这里假如添加ip地址:192.168.78.100,只需在redis.conf这个配置文件中bind 127.0.0.1后面追加:
bind 127.0.0.1 192.168.78.100
客户端连接:在命令行 输入 cd /usr/local/bin
进入这个目录 命令行输入: ./redis-cli

 Redis的安装和实际应用
命令格式:redis-cli –h host –p port –a 密码

二、Redis的使用

1、 切换数据库

select databaseid 默认共有16个实例库,登录时是ID为0的数据库,总共有16个

2、 Key 操作:

KEYS pattern
  查找所有符合给定模式 pattern 的 key 。
              EXISTS key
检查给定 key 是否存在。
EXPIRE key seconds
为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。
MOVE key db
将当前数据库的 key 移动到给定的数据库 db 当中。
如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。
TTL key
以秒为单位,返回给定 key 的剩余生存时间
TYPE key
返回 key 所储存的值的类型。
DEL key [key ...]
删除给定的一个或多个 key 。不存在的 key 会被忽略。
 

3、String操作

SET key value [EX seconds] [PXmilliseconds] [NX|XX]
字符串值 value 关联到 key 。
如果 key 已经持有其他值, SET 就覆写旧值,无视类型。
对于某个原本带有生存时间(TTL)的键来说, 当 SET 命令成功在这个键上执行时, 这个键原有的 TTL 将被清除。
GET key
返回 key 所关联的字符串值。如果 key 不存在那么返回特殊值 nil 。
假如 key 储存的值不是字符串类型,返回一个错误,因为 GET 只能用于处理字符串值。
APPEND key value
如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。
如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。
STRLEN key
返回 key 所储存的字符串值的长度。
当 key 储存的不是字符串值时,返回一个错误。
 
 
INCR key
将 key 中储存的数字值增一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
INCRBY key increment
将 key 所储存的值加上增量 increment 。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
DECR key
将 key 中储存的数字值减一。
DECRBY key decrement
将 key 所储存的值减去减量 decrement 。
GETRANGE key start end
返回 key 中字符串值的子字符串,字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。
负数偏移量表示从字符串最后开始计数, -1 表示最后一个字符, -2 表示倒数第二个,以此类推。
SETRANGE key offset value
用 value 参数覆写(overwrite)给定 key 所储存的字符串值,从偏移量 offset 开始。
不存在的 key 当作空白字符串处理。
SETEX key seconds value
将值 value 关联到 key ,并将 key 的生存时间设为 seconds
如果 key 已经存在, SETEX 命令将覆写旧值。
这个命令类似于以下两个命令:
SET key value
EXPIRE key seconds  # 设置生存时间
不同之处是, SETEX 是一个原子性(atomic)操作,关联值和设置生存时间两个动作会在同一时间内完成,该命令在 Redis 用作缓存时,非常实用。
SETNX key value
将 key 的值设为 value ,当且仅当 key 不存在。
若给定的 key 已经存在,则 SETNX 不做任何动作。
SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写。
MGET key [key ...]
返回所有(一个或多个)给定 key 的值。
如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。因此,该命令永不失败。
MSET key value [key value ...]
同时设置一个或多个 key-value 对。
如果某个给定 key 已经存在,那么 MSET 会用新值覆盖原来的旧值,如果这不是你所希望的效果,请考虑使用 MSETNX 命令:它只会在所有给定 key 都不存在的情况下进行设置操作。
MSETNX key value [key value ...]
同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
即使只有一个给定 key 已存在, MSETNX 也会拒绝执行所有给定 key 的设置操作。
MSETNX 是原子性的,因此它可以用作设置多个不同 key 表示不同字段(field)的唯一性逻辑对象(unique logic object),所有字段要么全被设置,要么全不被设置。

4、List 操作

LPUSH key value [value ...]
将一个或多个值 value 插入到列表 key 的表头
如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表头: 比如说,对空列表 mylist 执行命令 LPUSH mylist a b c ,列表的值将是 c b a ,这等同于原子性地执行 LPUSH mylist a 、 LPUSH mylist b 和 LPUSH mylist c 三个命令。
RPUSH key value [value ...]
将一个或多个值 value 插入到列表 key 的表尾(最右边)。
如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表尾:比如对一个空列表 mylist 执行 RPUSH mylist a b c ,得出的结果列表为 a b c ,等同于执行命令 RPUSH mylist a 、 RPUSH mylist b 、 RPUSH mylist c 。
LRANGE key start stop
返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。
下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。
LPOP key
移除并返回列表 key 的头元素。
RPOP key
移除并返回列表 key 的尾元素。
LINDEX key index
返回列表 key 中,下标为 index 的元素。
下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。
你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
LLEN key
返回列表 key 的长度。
如果 key 不存在,则 key 被解释为一个空列表,返回 0 .
LREM key count value
根据参数 count 的值,移除列表中与参数 value 相等的元素。
count 的值可以是以下几种:
count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。
count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
count = 0 : 移除表中所有与 value 相等的值。
LTRIM key start stop
对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
举个例子,执行命令 LTRIM list 0 2 ,表示只保留列表 list 的前三个元素,其余元素全部删除。
RPOPLPUSH source destination
命令 RPOPLPUSH 在一个原子时间内,执行以下两个动作:
将列表 source 中的最后一个元素(尾元素)弹出,并返回给客户端。
将 source 弹出的元素插入到列表 destination ,作为 destination 列表的的头元素。
举个例子,你有两个列表 source 和 destination , source 列表有元素 a, b, c , destination 列表有元素 x, y, z ,执行 RPOPLPUSH sourcedestination 之后, source 列表包含元素 a, b , destination 列表包含元素 c, x, y, z ,并且元素 c 会被返回给客户端。
LSET key index value
将列表 key 下标为 index 的元素的值设置为 value 。
当 index 参数超出范围,或对一个空列表( key 不存在)进行 LSET 时,返回一个错误。
LINSERT key BEFORE|AFTER pivot value
将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。
当 pivot 不存在于列表 key 时,不执行任何操作。
当 key 不存在时, key 被视为空列表,不执行任何操作。
 

5、Set操作

SADD key member [member ...]
将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。
假如 key 不存在,则创建一个只包含 member 元素作成员的集合。
SMEMBERS key
返回集合 key 中的所有成员。
不存在的 key 被视为空集合。
SISMEMBER key member
判断 member 元素是否集合 key 的成员。
 
 
SCARD key
返回集合 key 的基数(集合中元素的数量)。
SREM key member [member ...]
移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。
SPOP key
移除并返回集合中的一个随机元素。
如果只想获取一个随机元素,但不想该元素从集合中被移除的话,可以使用 SRANDMEMBER 命令。
SMOVE source destination member
将 member 元素从 source 集合移动到 destination 集合。
SMOVE 是原子性操作。
如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。
当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集合中的 member 元素删除。
当 source 或 destination 不是集合类型时,返回一个错误。
SDIFF key [key ...]
返回一个集合的全部成员,该集合是所有给定集合之间的差集。
SINTER key [key ...]
返回一个集合的全部成员,该集合是所有给定集合的交集。
不存在的 key 被视为空集。
当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。
SUNION key [key ...]
返回一个集合的全部成员,该集合是所有给定集合的并集。
不存在的 key 被视为空集。
 

6、Sorted set 操作

类似Sets,但是每个字符串元素都关联到一个叫score浮动数值。里面的元素总是通过score进行着排序,所以不同的是,它是可以检索的一系列元素。注意:在 set 基础上,加上 score 值,之前 set 是 key value1 value2….
现在 Zset 是 key score1 value1 score2 value2
ZADD key score member [[score member] [score member] ...]
将一个或多个 member 元素及其 score 值加入到有序集 key 当中。
redis> ZADD page_rank 9 baidu.com 8 bing.com
(integer) 2
redis> ZRANGE page_rank 0 -1 WITHSCORES
1) "bing.com"
2) "8"
3) "baidu.com"
4) "9"
5) "Google.com"
6) "10"
ZRANGE key start stop [WITHSCORES]
返回有序集 key 中,指定区间内的成员。
其中成员的位置按 score 值递增(从小到大)来排序。
具有相同 score 值的成员按字典序(lexicographical order )来排列。
如果你需要成员按 score 值递减(从大到小)来排列,请使用 ZREVRANGE 命令。
下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。
你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。
超出范围的下标并不会引起错误。
比如说,当 start 的值比有序集的最大下标还要大,或是 start > stop 时, ZRANGE 命令只是简单地返回一个空列表。
另一方面,假如 stop 参数的值比有序集的最大下标还要大,那么 Redis 将 stop 当作最大下标来处理。
可以通过使用 WITHSCORES 选项,来让成员和它的 score 值一并返回,返回列表以 value1,score1, ..., valueN,scoreN 的格式表示。
 
ZREVRANGE key start stop [WITHSCORES]
返回有序集 key 中,指定区间内的成员。
其中成员的位置按 score 值递减(从大到小)来排列。
ZREM key member [member ...]
移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。
ZREMRANGEBYSCORE key min max
移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。
ZSCORE key member
返回有序集 key 中,成员 member 的 score 值。
ZCARD key
返回有序集 key 的基数。
ZCOUNT key min max
返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量。
ZRANK key member
返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。

7、Hash操作

KV 模式不变,但是 V 是一个键值对
 
HSET key field value
将哈希表 key 中的域 field 的值设为 value 。
HGET key field
返回哈希表 key 中给定域 field 的值。
HMSET key field value [field value ...]
同时将多个 field-value (域-值)对设置到哈希表 key 中。
此命令会覆盖哈希表中已存在的域。
HMGET key field [field ...]
返回哈希表 key 中,一个或多个给定域的值。
HGETALL key
返回哈希表 key 中,所有的域和值。
HKEYS key
返回哈希表 key 中的所有域。
HVALS key
返回哈希表 key 中所有域的值。
HSETNX key field value
将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。
若域 field 已经存在,该操作无效。
HEXISTS key field
查看哈希表 key 中,给定域 field 是否存在。
HDEL key field [field ...]
删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。
HINCRBY key field increment
为哈希表 key 中的域 field 的值加上增量 increment 。
增量也可以为负数,相当于对给定域进行减法操作。

“Redis的安装和实际应用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Redis的安装和实际应用

本文链接: https://lsjlt.com/news/232193.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Redis的安装和实际应用
    本篇内容介绍了“Redis的安装和实际应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Redis的安装下载安装包,redis-3.2....
    99+
    2023-06-03
  • redis限流的实际应用
    为什么要做限流 首先让我们先看一看系统架构设计中,为什么要做“限流”。 旅游景点通常都会有最大的接待量,不可能无限制的放游客进入,比如故宫每天只卖八万张票,超过八万的游客,无法买票...
    99+
    2024-04-02
  • 如何进行Python安装的实际应用操作
    今天就跟大家聊聊有关如何进行Python安装的实际应用操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。下载windows版本,下载完成以后,双击打开,然后一步一步安装。*Pytho...
    99+
    2023-06-17
  • redis安装及简单应用
    1.系统环境:centos7.2 —— x86_64[root@salt1 ~]# cat /etc/centos-releaseCentOS Linux release 7.2.1511 (Core)&n...
    99+
    2024-04-02
  • PHP中封装性的实际应用案例
    导言:封装性是面向对象编程中的重要原则之一,它指的是将类的数据和方法封装在一起,以实现数据的隐藏和保护。在PHP开发中,封装性的应用非常广泛,可以帮助我们创建更加可维护、可扩展和安全的代码。本文将通过具体的案例和代码示例,展示PHP中封装性...
    99+
    2023-10-21
    OOP(面向对象编程) 封装(Encapsulation) 类(class)
  • redis安装、配置、使用和redis php扩展安装的步骤
    本篇内容主要讲解“redis安装、配置、使用和redis php扩展安装的步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“redis安装、配置、使用和redi...
    99+
    2024-04-02
  • python中redis的安装和使用
    python下redis安装 用python操作redis数据库,先下载redis-py模块下载地址https://github.com/andymccurdy/redis-py shell# wget h...
    99+
    2022-06-04
    python redis
  • redis的安装和简单使用
    循例介绍一下了,redis是内存数据库,是简单的key-value结构,也是nosql数据库,因为结构简单,而且用的是内存,所以速度非常之快.至于问有多快大家知道以前的机械硬盘,单盘速度其实也还好,而内存的...
    99+
    2024-04-02
  • Redis的安装和使用步骤
    本篇内容主要讲解“Redis的安装和使用步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis的安装和使用步骤”吧!#下载redishadoop@dbla...
    99+
    2024-04-02
  • redis的实际作用有哪些
    Redis的实际作用有以下几个方面:1. 缓存:Redis是一种内存存储系统,它能够快速读写数据,因此很适合作为缓存系统。通过将常用...
    99+
    2023-09-11
    redis
  • Redis的安装和部署
    这篇文章给大家分享的是有关Redis的安装和部署。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。redis的数据类型有:字符串(string)、哈希(Map)、列表(list)、集合(s...
    99+
    2024-04-02
  • Python安装笔记的实际应用的九种步骤分别是什么
    本篇文章给大家分享的是有关Python安装笔记的实际应用的九种步骤分别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。以下步骤是自己配置过程一些记录。另外请注意测试代码的缩...
    99+
    2023-06-17
  • redis安装和基本使用
    redis的概念: Redis是一个开源的基于内存亦可持久化的日志型、Key-Value数据库 redis工具: redis-benchmark #用于进行redis性能测试的工具 redis-sent...
    99+
    2024-04-02
  • Java泛型的实际应用
    本篇内容介绍了“Java泛型的实际应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java有很多的高级特...
    99+
    2024-04-02
  • 多态在Golang中的实际应用和优势
    Golang中多态的应用场景与优势 多态是面向对象编程中的重要概念,它允许一个对象在不同的情况下表现出不同的行为。Golang作为一种静态类型语言,也支持多态的实现。 在Golang中,实现多态的方式是通过接...
    99+
    2024-01-29
    应用场景 Golang 多态 优势
  • Redis 单机安装和哨兵模式集群安装的实现
    目录前言:1、Redis单机版安装1.1:下载安装包1.2:解压安装包1.3:执行make命令,编译redis代码1.4:安装并指定安装目录1.5:配置环境变量1.6:让redis作为服务进行后台启动1.7:redis关...
    99+
    2022-07-10
    Redis单机安装 Redis哨兵模式集群安装
  • Redis单机安装和哨兵模式集群安装的实现
    目录前言:1、Redis单机版安装1.1:下载安装包1.2:解压安装包1.3:执行make命令,编译redis代码1.4:安装并指定安装目录1.5:配置环境变量1.6:让redis作...
    99+
    2024-04-02
  • Redis笔记-Redis的安装和配置(一)
    大致的安装部骤如下,网上教程很多,此处简写1.解压2.进入src目录3.执行 make install 命令4.执行 redis-server 命令启动5.执行 redis-cli 命令连接Redis启动与...
    99+
    2024-04-02
  • 响应式编程的优点:PHP、JavaScript 和 NumPy 的实际应用
    响应式编程(Reactive Programming)是一种面向数据流和变化传播的编程范式,它的优点在于可以提高程序的可读性、可维护性和可扩展性。在本文中,我们将探讨响应式编程的优点,并介绍它在 PHP、JavaScript 和 NumP...
    99+
    2023-11-11
    javascript 响应 numpy
  • springboot ErrorPageFilter的实际应用详解
    目录ErrorPageFilter的实际应用Spring框架错误页过滤器springboot项目出现ErrorPageFilter异常系统一直出现报错日子代码如下ErrorPageF...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作