要打好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