打好Redis的基础需要学习哪些常用命令

技术打好Redis的基础需要学习哪些常用命令打好Redis的基础需要学习哪些常用命令,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、背景介绍Redis

要打好Redis的基础,需要学习一些常用的命令。针对这个问题,本文详细介绍了相应的分析和解答,希望能帮助更多想要解决这个问题的小伙伴找到更简单易行的方法。

一、背景介绍

Redis是一个开源的高级键值存储。它通常被称为数据结构服务器,因为密钥可以包含字符串、哈希、链表、集合和有序集合,并且支持不同的排序,所以命令丰富,容易混淆。

二、Redis 常用命令

1、工具命令

1)、redis-server

启动redis服务进程的工具命令

#指定配置文件启动服务redis-serverredis.conf#指定端口启动服务redis-server-port 63792)、redis-cli

Redis客户端工具

#连接redis服务器redis-cli-s/tmp/redis.sock#连接redis服务器Redis-CLI3)、redis-benchmark无套接字

Redis的性能测试工具

#使用默认参数测试redis-benchmark #使用自定义参数测试redis-benchmark-N1000000-CSV4)、redis-check-dump

Redis检查修复本地数据文件工具

# redis-check-dump dump . RDB5)、redis-check-aof

Redis检查和修复AOF日志文件工具

#再贴现支票——奥法彭多恩——6)、redis-sentinel的一部分

Redis集群管理工具

2、通用命令

Auth Redis身份验证命令,在执行其他命令之前,您必须首先进行身份验证(前提是身份验证参数在配置文件中设置)

Ping客户端和服务器之间的连接,返回值是PONG,表示连接。

配置获取*获取所有配置参数

setconfig config _ name config _ value设置配置参数值。

信息返回服务器信息

存在以查看当前库中是否存在密钥。

获取ttl键的有效持续时间。

过期设置密钥的过期时间。

Persist key_name删除密钥的过期时间。

删除密钥

选择n切换到n的数据库,redis默认数据库为0-15,共16个数据库。

移动关键字名称n将当前库的关键字移动到另一个数据库。

Type _ name返回键的数据类型。

Dbsize获取当前库中所有键的数量。

键*获取所有当前键(当键多时,挂会死,慎用)

Flushdb删除当前库中的所有键

Flushall删除所有库中的所有键。

保存以创建当前库的备份

Bgsave与save相同,但它是后台备份,不会阻塞主进程。

Eval执行lua脚本

3、类型相关命令

1)、STRING

添加一个设置的键值对,设置多次会覆盖原来的值。

获取get键的值

Incr/decr自动递增/自动递减(前提是键值是整数)

Incrby/decrby指定步长增加或减小(q,前提是键值是整数)

Strlen获取密钥的长度。

Append向指定的键追加一个值,并返回字符串长度。

Setnx判断键是否存在,如果存在,则返回0;否则,它返回1,这不会覆盖原始值。

Getrange根据指定的下标获取键值。

Demo:

127 . 0 . 0 . 1:6379 get number ' 20 ' 127 . 0 . 0 . 1:6379 incrnnumber(整数)21n

bsp;127.0.0.1:6379> decr number   (integer) 20  127.0.0.1:6379> incrby number 5   (integer) 25  127.0.0.1:6379> append number hello   (integer) 7  127.0.0.1:6379> strlen number   (integer) 7  127.0.0.1:6379> setnx number hello   (integer) 0  127.0.0.1:6379> getrange number 0 5   "25hell"

2)、LISTS

lpush 在列表前面添加一个或多个值

rpush 在列表后面添加一个或多个值

lrange 根据指定下标获取列表中的元素

lpop 获取并取出列表中的***个元素

llen 获取列表长度

Demo:

127.0.0.1:6379> lpush mylists apple orange pear   (integer) 3  127.0.0.1:6379> llen mylists   (integer) 3  127.0.0.1:6379> lrange mylists 0 -1   1) "pear"  2) "orange"  3) "apple"  127.0.0.1:6379> rpush mylists banana  (integer) 4  127.0.0.1:6379> lrange mylists 0 -1   1) "pear"  2) "orange"  3) "apple"  4) "banana"  127.0.0.1:6379> lpop mylists  "pear"  127.0.0.1:6379> lset mylists 0 four  OK  127.0.0.1:6379> lrange mylists 0 -1   1) "four"  2) "apple"  3) "banana"

3)、SETS

sadd 向集合中添加值

smembers 查看集合中的值

sismember 判断某元素是否是集合中元素

sunion 返回两个集合中的并集

sdiff 返回两个集合中的差集(将写在前面的集合作为参照)

sinter 返回两个集合中的交集

scard 返回集合中元素个数

srem 删除集合中指定值

Demo:

127.0.0.1:6379> sadd myset one two three   (integer) 3  127.0.0.1:6379> sadd myset1 two redis mysql   (integer) 3  127.0.0.1:6379> smembers myset   1) "three"  2) "two"  3) "one"  127.0.0.1:6379> smembers myset1   1) "two"  2) "mysql"  3) "redis"  127.0.0.1:6379> sdiff myset myset1   1) "three"  2) "one"  127.0.0.1:6379> sinter myset myset1   1) "two"  127.0.0.1:6379> sunion myset myset1   1) "two"  2) "three"  3) "mysql"  4) "one"  5) "redis"  127.0.0.1:6379> scard myset   (integer) 3  127.0.0.1:6379> sismember myset redis  (integer) 0  127.0.0.1:6379> srem myset two   (integer) 1  127.0.0.1:6379> smembers myset   1) "three"  2) "one"

4)、SORTED SETS

zadd 将键插入有序集合,并指定顺序

zrange 取出指定顺序的元素

zscore 返回集合中的顺序

zcount 返回集合中score在给定区间的数量

zrem 删除集合中指定元素

zrank 返回名称key中原素的排名

Demo:

127.0.0.1:6379> zadd sset 1 one 2 two 3 three   (integer) 3  127.0.0.1:6379> zadd sset 3 three   (integer) 0  127.0.0.1:6379> zrange sset 0 -1 withscores   1) "one"  2) "1"  3) "two"  4) "2"  5) "three"  6) "3"  127.0.0.1:6379> zrank sset one   (integer) 0  127.0.0.1:6379> zrank sset two   (integer) 1  127.0.0.1:6379> zcard sset   (integer) 3  127.0.0.1:6379> zincrby sset 2 two   "4"  127.0.0.1:6379> zrange sset 0 -1 withscores   1) "one"  2) "1"  3) "three"  4) "3"  5) "two"  6) "4"  127.0.0.1:6379> zrem sset three   (integer) 1  127.0.0.1:6379> zrange sset 0 -1 withscores   1) "one"  2) "1"  3) "two"  4) "4"

5)、HASHES

hset 返回hash 域为指定值,如果key不存在,则先创建

hget 获取hash 域中指定的key值

hmset 同时批量设置多个域

hincrby 指定hash 域加上给定的值

hexists 指定field是否存在,存在返回1,否则返回2

hlen 返回指定hash 表中field中的数量

Demo:

127.0.0.1:6379> hset user name jack   (integer) 1  127.0.0.1:6379> hget user name   "jack"  127.0.0.1:6379> hsetnx user name jack   (integer) 0  127.0.0.1:6379> hmset user1 name bob sex man age 11   OK  127.0.0.1:6379> hmget user1 name sex age   1) "bob"  2) "man"  3) "11"  127.0.0.1:6379> hexists user1 score   (integer) 0  127.0.0.1:6379> hlen user1   (integer) 3  127.0.0.1:6379> hincrby user1 age 5   (integer) 16  127.0.0.1:6379> hkeys user1   1) "name"  2) "sex"  3) "age"  127.0.0.1:6379> hdel user1 sex   (integer) 1  127.0.0.1:6379> hgetall user1   1) "name"  2) "bob"  3) "age"  4) "16"

4、其他命令

1)、事务

multi 开启一个事务

exec 执行事务

discard 撤销事务

watch 监视数据库键,若发生改变,返回空

Demo:

127.0.0.1:6379> watch "csdn"  OK  127.0.0.1:6379> multi   OK  127.0.0.1:6379> set csdn blob   QUEUED  127.0.0.1:6379> get csdn   QUEUED  127.0.0.1:6379> exec   1) OK  2) "blob"

2)、复制

info replication 获取复制信息

slaveof 建立复制关系

sync 同步

3)、订阅发布

subscribe 订阅一个或多个频道

publish 向某一频道发送信息

关于打好Redis的基础需要学习哪些常用命令问题的解答就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/84023.html

(0)

相关推荐

  • Hive基础操作的示例代码

    技术Hive基础操作的示例代码这篇文章将为大家详细讲解有关Hive基础操作的示例代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.在hive的服务端新建源数据[root@hadoo

    攻略 2021年12月10日
  • 使用SPM固定执行计划

    技术使用SPM固定执行计划 使用SPM固定执行计划使用SPM固定执行计划
    2 YEARS AGOORACLEVIEWED56TIMES.数据库在运行过程中,会由于各种原因的变化,存在执行计划不稳定的情况

    礼包 2021年11月19日
  • 网络很火的句子,你知道的今年最火的句子有哪些

    技术网络很火的句子,你知道的今年最火的句子有哪些听过无数话,看似都很有道理,但我最信两句:一个物以类聚,一个因果报应网络很火的句子。你还不认识我!我有一辈子可以认识你。不可能对所有人都好脸相迎,这是我人生的一大原则。

    生活 2021年10月21日
  • 如何理解互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景

    技术如何理解互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景本篇内容主要讲解“如何理解互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家

    攻略 2021年10月22日
  • 标准砖一立方多少块,一立方米砖等于多少块砖

    技术标准砖一立方多少块,一立方米砖等于多少块砖首先要知道每个型号1立方是多少块标准砖一立方多少块,举个例子来说明先看砌块的规格,如600*300*200,产品的规格尺寸以毫米为单位,换算成米后为0.6*0.3*0.2如此

    2021年10月25日
  • c++和Python哪个好(g++工程师工资)

    技术Idea SpringMVC+Spring+MyBatis+Maven怎么使用本篇内容介绍了“Idea SpringMVC+Spring+MyBatis+Maven怎么使用”的有关知识,在实际案例的操作过程中,不少人

    攻略 2021年12月14日