【Redis-6.0.8】这个版本中的205个命令

本文介绍了Redis中的命令,包括如何通过gdb查看当前版本的命令数量,以及Redis提供的各种操作,如key-value操作、集合操作、有序集合操作、哈希操作等。此外,还提到了info命令的不同选项,用于获取服务器状态信息。

目录

0.阅读与链接

1.Redis中的命令

1.1 用gdb查看当前版本的Redis提供了多少个命令 

1.2 当前Redis版本提供的命令 


0.阅读与链接

https://redis.io/commands 【官网的命令汇总】

https://redis.io/commands/acl-cat 【ACL CAT命令】

https://redis.io/commands/stralgo 【6.0新命令】

ACL CAT 
ACL CAT dangerous
ACL CAT fast
ACL CAT read
ACL CAT transaction

dbsize 查看这个数据库中有多少个键值对

1.Redis中的命令

1.1 用gdb查看当前版本的Redis提供了多少个命令 

gdb redis-server
(gdb) r
(gdb) p server.commands->ht[0]
$2 = {table = 0x7ffff6c3b000, size = 256, sizemask = 255, used = 205}
(gdb) p (char*)server.commands->ht[0]->table[1]->key
$6 = 0x7ffff6c3adb1 "xpending"
(gdb) p (char*)server.commands->ht[0]->table[3]->key
Cannot access memory at address 0x0
(gdb) p (char*)server.commands->ht[0]->table[2]->key
$7 = 0x7ffff6c09751 "xdel"
(gdb) p (char*)server.commands->ht[0]->table[3]->key
Cannot access memory at address 0x0

【我如何将这些命令全量提取出来?】
首先 cat 001.c  | grep "{\"" >> 11.txt 将文件重定向到11.txt中(001.c是我的命令源码),然后用
11.txt中的数据在excel中用数据分列将其提取出来.作为程序员好像是有点土了哈】

1.2 当前Redis版本提供的命令 

在Redis服务器端的genRedisInfoString函数中提供了一系列的接口供外部使用,如下所示,各个命令的详细用法可以参照官网链接

module
get
set
setnx
setex
psetex
append
strlen
del
unlink
exists
setbit
getbit
bitfield
bitfield_ro
setrange
getrange
substr
incr
decr
mget
rpush
lpush
rpushx
lpushx
linsert
rpop
lpop
brpop
brpoplpush
blpop
llen
lindex
lset
lrange
ltrim
lpos
lrem
rpoplpush
sadd
srem
smove
sismember
scard
spop
srandmember
sinter
sinterstore
sunion
sunionstore
sdiff
sdiffstore
smembers
sscan
zadd
zincrby
zrem
zremrangebyscore
zremrangebyrank
zremrangebylex
zunionstore
zinterstore
zrange
zrangebyscore
zrevrangebyscore
zrangebylex
zrevrangebylex
zcount
zlexcount
zrevrange
zcard
zscore
zrank
zrevrank
zscan
zpopmin
zpopmax
bzpopmin
bzpopmax
hset
hsetnx
hget
hmset
hmget
hincrby
hincrbyfloat
hdel
hlen
hstrlen
hkeys
hvals
hgetall
hexists
hscan
incrby
decrby
incrbyfloat
getset
mset
msetnx
randomkey
select
swapdb
move
rename
renamenx
expire
expireat
pexpire
pexpireat
keys
scan
dbsize
auth
ping
echo
save
bgsave
bgrewriteaof
shutdown
lastsave
type
multi
exec
discard
sync
psync
replconf
flushdb
flushall
sort
info
monitor
ttl
touch
pttl
persist
slaveof
replicaof
role
debug
config
subscribe
unsubscribe
psubscribe
punsubscribe
publish
pubsub
watch
unwatch
cluster
restore
restore-asking
migrate
asking
readonly
readwrite
dump
object
memory
client
hello
eval
evalsha
slowlog
script
time
bitop
bitcount
bitpos
wait
command
geoadd
georadius
georadius_ro
georadiusbymember
georadiusbymember_ro
geohash
geopos
geodist
pfselftest
pfadd
pfcount
pfmerge
pfdebug
xadd
xrange
xrevrange
xlen
xread
xreadgroup
xgroup
xsetid
xack
xpending
xclaim
xinfo
xdel
xtrim
post
host:
latency
lolwut
acl
stralgo

2.具体的命令

2.1 info具体命令

infoCommand->genRedisInfoString(里面很多info的第二个参数的选项)
info server
info clients
info memory
info persistence
info stats
info replication
info cpu
info modules
info commandstats
info cluster
info keyspace

 

<think>好的,我现在需要帮助用户解决在Ubuntu上安装Redis时遇到的pkg-config not found错误。首先,我得回想一下用户提供的引用内容,看看有没有相关的解决方法。用户提到了引用[1]、[2]、[4]中关于安装Redis的步骤和可能出现的错误。 首先,pkg-config是一个用来帮助编译时定位头文件和库文件的工具,很多软件在编译时会依赖它。如果系统里没有安装pkg-config,Redis的编译过程可能会报错。用户提到在Ubuntu上使用apt安装,而之前可能用的是yum,所以需要确认Ubuntu下的正确安装命令。 根据引用[1]中的信息,当出现pkg-config not found时,可能需要安装pkg-config包。在Ubuntu系统中,应该使用apt-get来安装。此外,可能还需要安装其他依赖库,比如libssl-dev,因为Redis可能需要SSL支持,尤其是在新版本中。 接下来,用户提供的引用[2]和[4]提到了下载Redis源码、解压、编译的步骤。如果编译过程中出现错误,可能需要先安装依赖,然后执行make distclean再重新编译。例如,在引用[2]中,建议如果编译错误,先执行make distclean清除之前的编译文件,再重新make。 所以,解决步骤可能是这样的: 1. 安装pkg-config和必要的依赖库。 2. 确保所有依赖都安装完成后,进入Redis源码目录,执行make distclean。 3. 再次尝试编译和安装。 另外,用户提到的权限问题(如Permission denied)可能需要使用sudo来执行安装命令,或者确保当前用户有足够的权限写入目标目录。例如,在make install时可能需要sudo权限,或者将目录权限设置正确。 需要确认用户是否已经正确安装了所有依赖项,包括build-essential、tcl等,这些在编译Redis时也是必要的。引用[4]中的步骤提到了编译Redis源码,但没有提到依赖安装,所以可能需要补充这些步骤。 总结下来,解决方案应该是: - 使用sudo apt-get安装pkg-config和相关开发库。 - 安装Redis所需的其他依赖,如build-essential、tcl、libssl-dev等。 - 清理之前的编译文件,重新编译安装。 同时,提醒用户在安装过程中可能需要使用sudo来处理权限问题,尤其是在执行make install时。</think>### 分步解答 在Ubuntu上解决Redis安装过程中出现的`pkg-config not found`错误,需按以下步骤操作: --- #### **1. 安装pkg-config和基础编译工具** 该工具用于管理编译时依赖关系。运行以下命令: ```bash sudo apt-get update sudo apt-get install pkg-config build-essential ``` - `build-essential`包含GCC编译器、make工具等基础编译环境[^2][^4] --- #### **2. 安装Redis的依赖库** Redis依赖`libssl-dev`(TLS支持)和`tcl`(测试工具): ```bash sudo apt-get install libssl-dev tcl ``` --- #### **3. 清理并重新编译Redis** 若之前编译失败,需先清理残留文件: ```bash cd redis-* # 进入解压后的Redis源码目录 make distclean # 清除之前的编译文件[^2] ``` 重新编译并安装: ```bash make sudo make install # 需要sudo权限写入系统目录 ``` --- #### **4. 验证安装** 检查是否生成关键文件: ```bash ls /usr/local/bin/redis-server # 默认安装路径 ``` 启动Redis服务端测试: ```bash redis-server ``` --- #### **常见问题补充** - **权限问题**:若`make`阶段报`Permission denied`,可能是源码目录权限问题,尝试: ```bash sudo chown -R $USER:$USER . # 将目录所有权赋予当前用户 ``` - **网络问题**:若下载依赖包失败(如`Failed to fetch`),检查APT源配置或更换镜像源[^1] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值