热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

redis修改服务器时间命令,Redis命令大全

官方地址:https:redis.iocommands一、服务器相关命令1、启动Redis(需要配置环境变量,否则要切换到安装目录下的bin目录执行)(

官方地址:https://redis.io/commands

一、服务器相关命令

1、启动 Redis(需要配置环境变量,否则要切换到安装目录下的 bin 目录执行)

(1)方法一、前台启动

redis-server

(2)方法二、后台启动(需要修改 redis.conf 里的 daemonize 的值为 yes)

redis-server redis.conf

2、查看是否启动

(1)方法一、ping 一下,返回 pong 则启动成功

redis-cli ping

(2)方法二、查看端口

ps -ef | grep -i redis

3、启动客户端

redis-cli  (中文会乱码)

redis-cli --raw (中文不乱吗)

4、停止 Redis

redis-cli shutdown

这一部分详解可以参考:Redis 安装教程

二、keys键操作

0、选择指定数据库

select 1  选择 1 号数据库

1、【keys】 返回所有满足给定 pattern 的 key

keys *     返回所有的 key

keys my* 返回 my 开头的 key

2、【exists】确认一个 key 是否存在(存在返回 1,不存在返回 0)

exists name

3、【type】返回一个 key 的类型

type name

4、【dbsize】返回当前数据库中的 key 数量

dbsize  删除一个键值对

5、【del】删除指定的 key

del name  删除一个键值对

del name age 删除两个键值对

6、【rename】修改一个 key 的名称

rename name username  将 key 为 name 改成 username

7、【expire】设置一个 key 的过期时间(秒)

expire name 100   name 这个 key 将在 100 秒后被删除

8、【ttl】返回某个 key 的过期时间(秒),key 不会过期返回 -1,key 不存在返回 -2

ttl name  查看name还有多久过期

9、【move】将 key 移到指定数据库

move age 1 将 age 从当前数据库移到 1

10、【flushdb】删除当前数据库里的所有 key 慎重

flushdb

11、【flushall】删除所有数据库里的 key 慎重

flushall

三、字符串(String) 类型操作

1、【set】  添加键值对

set name 言曌

set age 18

2、【get】根据 key 获得 value

get name

get age

3、【mset】评论添加键值对

mset name 罗琪 age 18 sex 女

4、【mget】批量获取值

mget name age sex

5、【incr】对 key 的值 +1,返回加后的值

incr age  对 age 的值 +1

6、【incrby】对 key 的值加指定的数量,返回加后的值

incrby age 10   对 age 的值 +10

7、【decr】对 key 的值 -1,返回减后的值

decr age

8、【decrby】对 key 的值减指定的数量,返回减后的值

decrby age 10   对 age 的值 -10

9、【append】对 key 的值后面追加字符,返回追加后的长度

append name 爱你  在 name 的值后面加上爱你

四、哈希(Hash)类型操作

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

1、【hset】向哈希表中添加一个字段

hset myhash name 言曌

hset myhash age 18

hset myhash sex 男

添加一个 key 为 myhash 的哈希表,里面有三个字段,分别是 name,age,sex 对应的值如上

2、【hmset】 向哈希表中批量添加字段

hmset myhash name 琪琪 age 18 sex 女

3、【hget】获取一个哈希表中的指定字段的值

hget myhash name 获得哈希表 myhash 中 name 的值

4、【hmget】获得一个哈希表中多个字段的值

hmget myhash name age sex

5、【hgetall】获得一个哈希表的所有字段和值

hgetall myhash

5、【hdel】删除一个哈希表里的字段

hdel myhash name  删除 myhash 里的一个字段

hdel myhash age sex 删除多个字段

6、【del】删除整个哈希表

del myhash

7、【hincrby】给一个哈希表中指定的字段加指定的数值

hincrby myhash age 10    给 myhash 集合中的 age + 10

8、【hexists】查看一个哈希表中某个字段是否存在

hexists myhash name

9、【hlen】返回一个哈希表中字段数量

hkeys myhash

10、【hkeys】返回一个哈希表中所有的 key

hkeys myhash

11、【hvals】返回一个哈希表中所有的 value

hvals myhash

五、List 类型操作

List 是一个有序的集合,一般常用的有以下两种实现

一个是 ArrayList,基于数组的,随机访问和查找快;

一个是 LinkedList,基于链表的,插入和删除较快。

1、【lpush】往左侧添加元素(列表不存在会自动创建)

lpush mylist a b c d

先创建(如果存在,不创建)一个 mylist,然后在从右往左侧依次添加 a,b,c,d 三个元素

最终得到使用 lrange 命令查看 mylist 为 d c b a

2、【rpush】往右侧添加元素(列表不存在会自动创建)

rpush mylish2 a b c d

先创建(如果存在,不创建)一个 mylist2,然后在左往右依次添加 a,b,c,d 三个元素

最终得到使用 lrange 命令查看 mylish2 为 a b c d

3、【lpushx】向已存在的列表从左侧添加元素(列表不存在返回0)

lpushx mylist e f g

4、【rpushx】向已存在的列表从右侧添加元素(列表不存在返回0)

rpushx mylist e f g

5、【lrange】查看列表元素

lrange mylist 0 3

lrange mylist 0 -1

0 和 3 表示起始范围,负数表示倒数第几个

如果 mylist 只有 4 个元素,上面两句都是表示查看 mylist 列表中所有元素

6、【lpop】弹出首部元素

lpop mylist

删除最左边的元素,并返回该元素

7、【rpop】弹出尾部元素

rpop mylist

删除最右边的元素

8、【llen】返回列表的长度

llen mylist

9、【lrem】删除列表中的指定元素

格式: lrem key count value (注意 count 的值)

lrem mylist 2 a  删除 mylist 中的两个 a(从左边往右边找)

lrem mylist 2 a   删除 mylist 中的两个 a  (从右边往左边找)

lrem mylist 0 a  删除 mylist 里的所有 a

10、【lset】设置指定坐标的值(替换已存在的元素,但下标不能越界)

lset mylist 3 mm 设置下标为3的元素为 mm

11、【linsert】在某个元素前或后插入一个元素

linsert mylist before b aaaaa  在 第一个 b 元素前插入一个 aaaaa 元素

linsert mylist after b ccccc        在 第一个 b 元素后插入一个 ccccc 元素

12、【lpoprpush】弹出一个列表尾部元素,加到里另一个列表首部

格式:lpoprpush source target

rpush list a b c d

rpush list2 1 2 3 4

lpoprpush list list2

返回 d

最终:list 的元素为:a b c

list2 的元素为:d 1 2 3 4

该命令应用场景很多,比如消息管理

六、Set 类型操作

Set 和 List 最大区别是,Set 不会出现重复的元素

1、【sadd】向集合(不存在会创建)中添加元素

sadd myset a b c d

2、【srem】删除集合中的元素

srem myset a删除一个元素

srem myset b c   删除多个元素

3、【smembers】查看集合中的元素

smembers  myset

4、【sismember】查看某元素是否在集合中(存在返回1,不存在返回0)

sismember myset a

5、【sdiff】差运算,返回差集(前面的-后面的)

sadd set a b c d

sadd set2 c d e f

sdiff set set2

set 集合减去 set2 集合,返回 a b

6、【sinter】交运算,返回集合都有的元素

sadd set a b c d

sadd set2 c d e f

sinter set set2

返回 set 和 set2 集合都有的元素,即 c d

7、【sunion】并运算,返回两个集合所有的元素

sadd set a b c d

sadd set2 c d e f

sinter set set2

返回 set 和 set2 集合所有的元素,即 a f e d b c

8、【scard】返回 set 的长度

scard myset

9、【srandmember】返回集合中随机一个元素

srandmember myset

10、【sdiffstore】将两个集合的差集放到一个新的集合里

sadd set a b c d

sadd set2 c d e f

sdiffstore newset set set2

最终 newset 结果为 a b

11、【sinterstore】将两个集合的交集放到一个新的集合里

sadd set a b c d

sadd set2 c d e f

sinterstore newset set set2

最终 newset 结果为 c d

12、【sunionstore】将两个集合的交集放到一个新的集合里

sadd set a b c d

sadd set2 c d e f

sunionstore newset set set2

最终 newset 结果为 c d

七、sorted-set 类型操作

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

1、【zadd】添加一个元素

格式:zdd score value  其中 score 表示权值

zadd mysort 78 李明

zadd mysort 90 言曌

zadd mysort 98 罗琪

2、【zscore】查询指定元素的分数

zscore mysort 言曌

3、【zrem】删除指定元素

zrem mysort 李明

4、【zcard】查询集合的元素个数

zcard mysort

5、【zrange】范围查找,排序由小到大

zrange mysort 0 -1 查询所有的元素值

zrange mysort 0 -1 withscores查询所有的元素值和对应的分数

6、【zrevrange】范围查找,排序有大到小

zrevrange mysort 0 -1 查询所有的元素值

zrevrange mysort 0 -1 withscores查询所有的元素值和对应的分数

7、【zremrangebyrank】按照排名删除

zremrangebyrank mysort 0 2 删除排名前三的(从小到大的顺序)

8、【zremrangebyscore】按照分数范围删除

zremrangebyscore mysort 80 100   删除 0-60 分的元素

9、【zrangebyscore】查询分数范围内的元素

zrangebyscore mysort 0 60  查询分数在 0-60 分的元素

zrangebyscore mysort 0 60 limit 0 2 查询分数在 0-60 分的元素,返回 前 2 个

10、【zincrby】给指定的元素的分数增加分数

格式:zincrby key increment member

zincrby mysort 5 言曌      给言曌加5分

11、【zcount】返回指定分数范围内的元素个数

zcount mysourt 10 100   返回 10-100 分内的元素个数

上述例子都经过试验,应该没有什么问题

本文地址: https://liuyanzhao.com/7812.html



推荐阅读
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 深入探索HTTP协议的学习与实践
    在初次访问某个网站时,由于本地没有缓存,服务器会返回一个200状态码的响应,并在响应头中设置Etag和Last-Modified等缓存控制字段。这些字段用于后续请求时验证资源是否已更新,从而提高页面加载速度和减少带宽消耗。本文将深入探讨HTTP缓存机制及其在实际应用中的优化策略,帮助读者更好地理解和运用HTTP协议。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 双指针法在链表问题中应用广泛,能够高效解决多种经典问题,如合并两个有序链表、合并多个有序链表、查找倒数第k个节点等。本文将详细介绍这些应用场景及其解决方案。 ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 通过使用Sqoop导入工具,可以精确控制并高效地将表数据的特定子集导入到HDFS中。具体而言,可以通过在导入命令中添加WHERE子句来指定所需的数据范围,从而在数据库服务器上执行相应的SQL查询,并将查询结果高效地存储到HDFS中。这种方法不仅提高了数据导入的灵活性,还确保了数据的准确性和完整性。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • Git命令基础应用指南
    本指南详细介绍了Git命令的基础应用,包括如何使用`git clone`从远程服务器克隆仓库(例如:`git clone [url/path/repository]`)以及如何克隆本地仓库(例如:`git clone [local/path/repository]`)。此外,还提供了常见的Git操作技巧,帮助开发者高效管理代码版本。 ... [详细]
  • 在C++程序中,文档A的每一行包含一个结构体数据,其中某些字段可能包含不同数量的数字。需要将这些结构体数据逐行读取并存储到向量中,随后不仅在控制台上显示,还要输出到新创建的文档B中。希望得到指导,感谢! ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 本文详细介绍了在 Oracle 数据库中使用 MyBatis 实现增删改查操作的方法。针对查询操作,文章解释了如何通过创建字段映射来处理数据库字段风格与 Java 对象之间的差异,确保查询结果能够正确映射到持久层对象。此外,还探讨了插入、更新和删除操作的具体实现及其最佳实践,帮助开发者高效地管理和操作 Oracle 数据库中的数据。 ... [详细]
  • 使用 `git stash` 可以将当前未提交的修改保存到一个临时存储区,以便在后续恢复工作目录时使用。例如,在处理中间状态时,可以通过 `git stash` 命令将当前的所有未提交更改推送到一个新的储藏中,从而保持工作目录的整洁。此外,本文还将详细介绍如何解决 `git stash pop` 时可能出现的冲突问题,帮助用户高效地管理代码变更。 ... [详细]
author-avatar
太姥茶叶论坛_730
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有