iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >打好Redis的基础需要学习哪些常用命令
  • 902
分享到

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

2024-04-02 19:04:59 902人浏览 薄情痞子
摘要

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

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

一、背景介绍

Redis 是一个开源的,先进的key-value存储。它通常被称为数据结构服务器,因为键可以包含字符串、哈希、链表集合与有序集合,而且支持各种不同方式的排序,所以命令比较丰富,很容易混淆。

二、Redis 常用命令

1、工具命令

1)、redis-server 

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

#指定配置文件启动服务  redis-server redis.conf  #指定端口启动服务  redis-server --port 6379

2)、redis-cli

redis 客户端工具

#使用Socket连接redis服务器  redis-cli -s /tmp/redis.sock  #不使用socket连接redis服务器  redis-cli

3)、redis-benchmark

redis 的性能测试工具

#使用默认参数测试  redis-benchmark  #自定义参数测试  redis-benchmark -n 1000000 --csv

4)、redis-check-dump

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

# redis-check-dump dump.rdb

5)、redis-check-aof

redis 检查修复AOF日志文件工具

# redis-check-aof appendonly.aof

6)、redis-sentinel

redis 集群管理工具

2、通用命令

auth Redis认证命令,执行其他命令前,必须先进行认证(前提是在配置文件中设置了认证参数)

ping 测试客户端和服务器之间的联通,返回值为PONG,表示联通

config get * 获取所有配置参数

config set config_name config_value 设置配置参数值

info 返回服务器信息

exist 查看当前库中是否存在某个key

ttl 获取键的有效时长

expire 设置键的过期时间

persist key_name 移除某个键的过期时间

del 删除某个键

select n 切换到n的数据库,redis默认的数据库是0-15,共16个数据库

move key_name n 将当前库的键移动到其他数据库

type key_name 返回键的数据类型

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

key * 获取当前所有key(当键数量多是,会hang死,慎用)

flushdb 删除当前库中的所有key

flushall 删除所有库中的所有key

save 创建当前库的备份

bgsave 同save,但是是后台备份,不阻塞主进程

eval 执行lua脚本

3、类型相关命令

1)、STRING

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

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> incr number   (integer) 21  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的基础需要学习哪些常用命令问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网数据库频道了解更多相关知识。

您可能感兴趣的文档:

--结束END--

本文标题: 打好Redis的基础需要学习哪些常用命令

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 打好Redis的基础需要学习哪些常用命令
    打好Redis的基础需要学习哪些常用命令,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、背景介绍Redis 是一个开源的,先进的key-...
    99+
    2022-10-19
  • Redis基础类型及常用操作、命令有哪些
    Redis基础类型及常用操作、命令有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。概念:Redis是用C语言开发的一个开源的高性能键值对数...
    99+
    2022-10-19
  • PHP和NumPy学习笔记:Git的基础知识和常用命令
    作为一名程序员,我们经常需要协同开发,这时候版本控制工具就显得尤为重要了。Git 是目前最流行的版本控制工具之一,它可以帮助我们管理代码版本,协同开发,回溯历史记录等等。本文将介绍 Git 的基础知识和常用命令,并使用 PHP 和 Num...
    99+
    2023-10-07
    numy 学习笔记 git
  • python学习与数据挖掘需要掌握的终端命令有哪些
    这篇文章将为大家详细讲解有关python学习与数据挖掘需要掌握的终端命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、wgetwget实用程序用于从远程服务器下载文件。你可以用它来下载数据集,只...
    99+
    2023-06-25
  • Linux下,GO语言开发者需要掌握的常用命令有哪些?
    在Linux下进行GO语言开发,熟练掌握一些常用的命令可以大大提高工作效率。本文将为大家介绍一些Linux下GO语言开发者需要掌握的常用命令。 go build go build命令可以将GO语言源代码编译成可执行文件。使用方法很简单...
    99+
    2023-10-11
    linux numy windows
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作