redis的安装和常用命令

2022-11-14 14:49:40 浏览数 (1)

文章目录

  1. 1. 安装
  2. 2. 常用命令
    1. 2.1. 连接远程redis服务器
    2. 2.2. 键相关的基本命令
    3. 2.3. 字符串string相关命令
    4. 2.4. 哈希hash相关命令
    5. 2.5. 链表List相关命令
    6. 2.6. 集合Set相关命令
    7. 2.7. 有序集合sorted set
    8. 2.8. HyperLogLog基数统计
    9. 2.9. 发布订阅
    10. 2.10. Redis事务
    11. 2.11. redis连接
    12. 2.12. redis服务器命令
  3. 3. 参考

redis的安装、常用命令、关键知识点。

安装

代码语言:javascript复制
#下载
wget http://download.redis.io/releases/redis-xxx.tar.gz
tar xzf redis-xxx.tar.gz
cd redis-xxx
make

#运行server
./src/redis-server &

#启动客户端使用
./src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

常用命令

连接远程redis服务器
代码语言:javascript复制
$redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING
PONG
键相关的基本命令

当key存在时删除key

代码语言:javascript复制
DEL key

序列化给定的key并返回

代码语言:javascript复制
DUMP key

检查给定的key是否存在

代码语言:javascript复制
EXISTS key

为key设定过期时间,以秒计

代码语言:javascript复制
EXPIRE key seconds

为key设定过期时间,接收时间戳

代码语言:javascript复制
EXPIREAT key timestamp

查找符合给定模式的key

代码语言:javascript复制
KEYS pattern

移除key的过期时间

代码语言:javascript复制
PERSIST key

修改key的名称

代码语言:javascript复制
RENAME key newkey
字符串string相关命令

设置、获取key值

代码语言:javascript复制
SET key value
GET key

返回key对应字符串的长度

代码语言:javascript复制
STRLEN key

同时设置多个key-value

代码语言:javascript复制
MSET key1 value1 key2 value2

在key对应value后面追加字符串

代码语言:javascript复制
APPEND key str1
哈希hash相关命令

设置、获取hash表

代码语言:javascript复制
HMSET key name1 "value1" name2 "value2"
HGETALL key
"name1"
"value1"
"name2"
"value2"

删除一个或多个hash表字段

代码语言:javascript复制
HDEL key name1 [name2]

查看某字段是否存在

代码语言:javascript复制
HEXISTS key name1

获取指定字段的值

代码语言:javascript复制
HGET key name1

为hash表key的某整数字段加增量

代码语言:javascript复制
HINCRBY key name2 increment
链表List相关命令

在右边添加或删除元素

代码语言:javascript复制
RPUSH key name1 name2 ...
RPOP key

在左边添加或删除元素

代码语言:javascript复制
LPUSH key name1 name2
LPOP key

获取指定范围元素

代码语言:javascript复制
RANGE key 0 9

获取链表长度

代码语言:javascript复制
LLEN key

通过索引设置列表元素的值

代码语言:javascript复制
LSET key index value
集合Set相关命令

往集合添加元素

代码语言:javascript复制
SADD key redis
SADD key mysql
SADD key mongodb zeromq kafka

获取集合成员数

代码语言:javascript复制
SCARD key

返回集合中所有成员

代码语言:javascript复制
SMEMBERS key

返回集合的差集

代码语言:javascript复制
SADD s1 1 2 3 4 5
SADD s2 4 5 6 7 8
SDIFF s1 s2
1 2 3

返回所有集合的交集

代码语言:javascript复制
SINTER key1 key2 ...

返回集合的并集

代码语言:javascript复制
SUNION key1 key2 ...

计算差集并创建新集合

代码语言:javascript复制
SDIFFSTORE newkey s1 s2

计算交集并创建新集合

代码语言:javascript复制
SINTERSTORE newkey key1 [key2]

计算并集并创建新集合

代码语言:javascript复制
UNIONSTORE newkey key1 [key2]

判断member是否为集合key的成员

代码语言:javascript复制
SISMEMBER key member

将member从src移动到dst

代码语言:javascript复制
SMOVE src dst member
有序集合sorted set

往有序集合添加元素

代码语言:javascript复制
ZADD key 1 redis
ZADD key 2 mongodb 3 mysql

范围查询元素

代码语言:javascript复制
ZRANGE key 0 10 WITHSCORES

获取有序集合的成员数

代码语言:javascript复制
ZCARD key

计算指定分数区间的成员数

代码语言:javascript复制
ZCOUNT key min max

计算交集并储存到新集合

代码语言:javascript复制
ZINTERSTORE dst numkeys key1 [key2...]

计算并集并储存到新集合

代码语言:javascript复制
ZUNIONSTORE dst numkeys key [key...]

通过分数返回指定区间的成员

代码语言:javascript复制
ARANGEBYSCORE key min max [WITHSCORES][LIMIT]

移除有序集合中的一个或多个成员

代码语言:javascript复制
ZREM key member [member...]

移除给定字典区间的所有成员

代码语言:javascript复制
ZREMRANGEBYLEX key min max

移除给定排名区间的所有成员

代码语言:javascript复制
ZREMRANGEBYRANK key start stop

移除给定分数区间的所有成员

代码语言:javascript复制
ZREMRANGEBYSCORE key min max

返回集合中成员的分数

代码语言:javascript复制
ZSCORE key member

迭代有序集合中的元素

代码语言:javascript复制
ZSCAN key cursor [MATCH pattern][COUNT count]
HyperLogLog基数统计

添加元素到HyperLogLog中

代码语言:javascript复制
PFADD key element [element...]

返回给定HyperLogLog的基数估算值

代码语言:javascript复制
PFCOUNT key [key...]

合并多个HyperLogLog

代码语言:javascript复制
PFMERGE dstkey srckey [srckey...]
发布订阅

实例

代码语言:javascript复制
#客户端1订阅频道
SUBSCRIBE redischat
#客户端2发布消息
PUBLISH redischat "hello redis"

订阅给定的频道

代码语言:javascript复制
SUBSCRIBE channel [channel...]

将消息发送到指定频道

代码语言:javascript复制
PUBLISH channel message

退订给定的频道

代码语言:javascript复制
UNSUBSCRIBE [channel...]
Redis事务

标记一个事务块的开始

代码语言:javascript复制
MULTI

执行事务块内所有命令

代码语言:javascript复制
EXEC

取消事务,放弃执行事务块内所有命令

代码语言:javascript复制
DISCARD

监视key,如果事务执行前key被其他命令改变,事务将被打断

代码语言:javascript复制
WATCH key

取消对所有key的监视

代码语言:javascript复制
UNWATCH
redis连接

切换数据库

代码语言:javascript复制
SELECT index

查看redis服务器是否运行

代码语言:javascript复制
PING

验证密码是否正确

代码语言:javascript复制
AUTH password

打印字符串

代码语言:javascript复制
ECHO message

关闭当前连接

代码语言:javascript复制
QUIT

查看服务器的统计信息

代码语言:javascript复制
INFO
redis服务器命令

%%%

参考

  • Redis教程
  • 如何阅读Redis源码?
  • 历史redis源码下载
  • Redis 3.0 源码注释

0 人点赞