热门标签 | 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



推荐阅读
  • 开发笔记:Java是如何读取和写入浏览器Cookies的
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java是如何读取和写入浏览器Cookies的相关的知识,希望对你有一定的参考价值。首先我 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
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社区 版权所有