Redis基础命令集详解——新手入门必备

Redis基础命令集详解——新手入门必备


文章目录

  • Redis基础命令集详解——新手入门必备
  • 前言
  • 一、Redis安装与连接
  • 二、Redis数据类型及基本命令
    • 1、 String(字符串)
    • 2、List(列表) 可模拟双向列表(左进右出|右进左出)和栈(左进左出|右进右出)
    • 3、Set(集合)
    • 4、Hash(哈希)
    • 5、Sorted Set(有序集合)
    • 6、其他功能性命令
  • 三、事务与批量操作
  • 总结


前言

Redis(Remote Dictionary Server)是一个开源的使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(string)、哈希(Hash)、列表(list)、集合(sets)、有序集合(sorted sets)等类型。

对于刚开始学习Redis的新手来说,掌握基础命令是非常重要的第一步。本文旨在为初学者提供一份详尽的Redis基础命令参考指南,帮助大家快速上手并掌握其基本用法。


一、Redis安装与连接

详细安装入口

二、Redis数据类型及基本命令

1、 String(字符串)

  1. 设置键值对:SET key value
SET mykey "Hello Redis!"
  1. 获取键值:GET key
GET mykey  
# 输出: "Hello World!"
  1. 向key的字符串值末尾追加内容:APPEND key value
APPEND mykey " Redis!"  
GET mykey  
# 输出: "Hello World! Redis!"

  1. 对key的值进行增减操作:INCR、DECR、INCRBY、DECRBY
INCR key  
DECR key  
INCRBY key increment  
DECRBY key decrement

SET mynum 10  
INCR mynum  
# 输出: (integer) 11  
DECRBY mynum 3  
# 输出: (integer) 8
  1. 将key所储存的字符串值,在offset的位置设置为value:SETBIT key offset value

假设我们有一个key为"mykey",我们想在其第7位(从0开始计数)设置一个值为1的位。我们可以使用SETBIT命令如下:

SETBIT mykey 7 1

如果"mykey"原本不存在,这个命令会创建一个新的字符串,并在第7位设置值为1。如果"mykey"已经存在,这个命令会修改其第7位的值。

  1. 获取存储在key的字符串值的offset位置的位(bit):GETBIT key offset

接着上面的例子,我们可以使用GETBIT命令来获取"mykey"的第7位的值:

GETBIT mykey 7
#返回1
  1. 计算key中设置为1的位数:BITCOUNT key [start] [end]

假设我们有一个key为"bitset",它存储了一个二进制字符串,我们想知道这个字符串中有多少个位被设置为1。我们可以使用BITCOUNT命令如下:

BITCOUNT bitset

如果没有指定start和end,BITCOUNT会计算整个字符串中设置为1的位数。

  1. 对一个或多个key进行位运算,并将结果保存到destkey中。位运算可以是AND、OR、XOR和NOT:BITOP operation destkey key [key…]

假设我们有两个key,分别为"key1"和"key2",它们存储了二进制字符串。我们想要对这两个key执行按位与(AND)操作,并将结果保存到"resultkey"中。我们可以使用BITOP命令如下:

BITOP AND resultkey key1 key2

执行完这个命令后,"resultkey"将包含"key1"和"key2"按位与操作的结果。

  1. 返回key中第一个设置为bit的位的位置:BITPOS key bit [start] [end]

假设我们有一个key为"searchbit",我们想要找到第一个设置为1的位的位置。我们可以使用BITPOS命令如下:

BITPOS searchbit 1

这将返回"searchbit"中第一个设置为1的位的位置。如果指定了start和end,BITPOS将只在指定的范围内搜索。

2、List(列表) 可模拟双向列表(左进右出|右进左出)和栈(左进左出|右进右出)

  1. 将一个或多个值插入到列表头部或尾部:LPUSH、RPUSH
LPUSH listkey value1 value2 ...  
RPUSH listkey value1 value2 ...
LPUSH mylist "one"  
RPUSH mylist "two" "three"
  1. 移除并获取列表的第一个或最后一个元素:LPOP、RPOP
LPOP listkey  
RPOP listkey
LPOP mylist  
# 输出: "one"
  1. 获取列表指定范围内的元素:LRANGE listkey start stop
LRANGE mylist 0 -1  
# 输出: 1) "two" 2) "three"

3、Set(集合)

  1. 将一个或多个成员添加到集合中:SADD setkey member1 member2 …
SADD myset "apple" "banana"
  1. 返回集合中的所有成员:SMEMBERS setkey
SMEMBERS myset  
# 输出: 1) "apple" 2) "banana"
  1. 判断成员是否在集合中:SISMEMBER setkey member
SISMEMBER myset "apple"  
# 输出: (integer) 1
  1. 移除集合中的一个或多个成员:SREM setkey member1 member2 …
SREM myset "banana"

4、Hash(哈希)

  1. 添加哈希字段及其值:HSET key field value
HSET user:1 name "Alice" age 25
  1. 获取哈希字段的值:HGET key field
HGET user:1 name  
# 输出: "Alice"
  1. 获取哈希表中所有字段和值:HGETALL hashkey
HGETALL user:1  
# 输出: 1) "name" 2) "Alice" 3) "age" 4) "25"
  1. 删除哈希表中的字段:HDEL hashkey field [field …]
HDEL user:1 age

5、Sorted Set(有序集合)

  1. 将一个或多个成员及其分数添加到有序集合中:ZADD sortedsetkey score1 member1 score2 member2 …
ZADD mysortedset 1 "one" 2 "two" 3 "three"
  1. 返回有序集合中指定排名范围的元素:ZRANGE sortedsetkey start stop [WITHSCORES]
ZRANGE mysortedset 0 -1 WITHSCORES  
# 输出: 1) "one" 2) "1" 3) "two" 4) "2" 5) "three" 6) "3"
  1. 移除有序集合中的一个或多个成员:ZREM sortedsetkey member1 member2 …
ZREM mysortedset "two"
  1. 返回有序集合中成员的排名:ZRANK、ZREVRANK
ZRANK sortedsetkey member  
ZREVRANK sortedsetkey member

ZRANK mysortedset "one"  
# 输出: (integer) 0

6、其他功能性命令

  1. 检查键是否存在:EXISTS key
EXISTS mykey 
//存在返回 1
  1. 过期时间设置:EXPIRE key seconds
EXPIRE mykey 60
  1. 查询所有的key
keys *

三、事务与批量操作

Redis提供了MULTI、EXEC、DISCARD等命令来支持事务操作。

  1. 开始事务:MULTI
  2. 执行命令入队列:(在此之后的所有命令都会被放入队列)
  3. 提交事务并执行命令:EXEC
  4. 取消事务:DISCARD
> MULTI
OK
> INCR counter
QUEUED
> INCR counter
QUEUED
> EXEC
1) (integer) 1
2) (integer) 2

总结

以上只是Redis庞大命令集的一部分,随着深入学习,你会发现Redis在数据处理方面的强大功能和灵活性。希望这篇基础命令详解能帮你顺利开启Redis的学习之旅,后续我们还将进一步探讨Redis在实战中的应用技巧和优化策略。

你可能感兴趣的:(Redis,redis)