Redis(Remote Dictionary Server)是一个开源的使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(string)、哈希(Hash)、列表(list)、集合(sets)、有序集合(sorted sets)等类型。
对于刚开始学习Redis的新手来说,掌握基础命令是非常重要的第一步。本文旨在为初学者提供一份详尽的Redis基础命令参考指南,帮助大家快速上手并掌握其基本用法。
详细安装入口
SET mykey "Hello Redis!"
GET mykey
# 输出: "Hello World!"
APPEND mykey " Redis!"
GET mykey
# 输出: "Hello World! Redis!"
INCR key
DECR key
INCRBY key increment
DECRBY key decrement
SET mynum 10
INCR mynum
# 输出: (integer) 11
DECRBY mynum 3
# 输出: (integer) 8
假设我们有一个key为"mykey",我们想在其第7位(从0开始计数)设置一个值为1的位。我们可以使用SETBIT命令如下:
SETBIT mykey 7 1
如果"mykey"原本不存在,这个命令会创建一个新的字符串,并在第7位设置值为1。如果"mykey"已经存在,这个命令会修改其第7位的值。
接着上面的例子,我们可以使用GETBIT命令来获取"mykey"的第7位的值:
GETBIT mykey 7
#返回1
假设我们有一个key为"bitset",它存储了一个二进制字符串,我们想知道这个字符串中有多少个位被设置为1。我们可以使用BITCOUNT命令如下:
BITCOUNT bitset
如果没有指定start和end,BITCOUNT会计算整个字符串中设置为1的位数。
假设我们有两个key,分别为"key1"和"key2",它们存储了二进制字符串。我们想要对这两个key执行按位与(AND)操作,并将结果保存到"resultkey"中。我们可以使用BITOP命令如下:
BITOP AND resultkey key1 key2
执行完这个命令后,"resultkey"将包含"key1"和"key2"按位与操作的结果。
假设我们有一个key为"searchbit",我们想要找到第一个设置为1的位的位置。我们可以使用BITPOS命令如下:
BITPOS searchbit 1
这将返回"searchbit"中第一个设置为1的位的位置。如果指定了start和end,BITPOS将只在指定的范围内搜索。
LPUSH listkey value1 value2 ...
RPUSH listkey value1 value2 ...
LPUSH mylist "one"
RPUSH mylist "two" "three"
LPOP listkey
RPOP listkey
LPOP mylist
# 输出: "one"
LRANGE mylist 0 -1
# 输出: 1) "two" 2) "three"
SADD myset "apple" "banana"
SMEMBERS myset
# 输出: 1) "apple" 2) "banana"
SISMEMBER myset "apple"
# 输出: (integer) 1
SREM myset "banana"
HSET user:1 name "Alice" age 25
HGET user:1 name
# 输出: "Alice"
HGETALL user:1
# 输出: 1) "name" 2) "Alice" 3) "age" 4) "25"
HDEL user:1 age
ZADD mysortedset 1 "one" 2 "two" 3 "three"
ZRANGE mysortedset 0 -1 WITHSCORES
# 输出: 1) "one" 2) "1" 3) "two" 4) "2" 5) "three" 6) "3"
ZREM mysortedset "two"
ZRANK sortedsetkey member
ZREVRANK sortedsetkey member
ZRANK mysortedset "one"
# 输出: (integer) 0
EXISTS mykey
//存在返回 1
EXPIRE mykey 60
keys *
Redis提供了MULTI、EXEC、DISCARD等命令来支持事务操作。
> MULTI
OK
> INCR counter
QUEUED
> INCR counter
QUEUED
> EXEC
1) (integer) 1
2) (integer) 2
以上只是Redis庞大命令集的一部分,随着深入学习,你会发现Redis在数据处理方面的强大功能和灵活性。希望这篇基础命令详解能帮你顺利开启Redis的学习之旅,后续我们还将进一步探讨Redis在实战中的应用技巧和优化策略。