Redis学习01——基本命令和基本类型

本文详细介绍了 Redis 的基本操作,包括启动、性能测试、各种数据类型如 String、List、Set 和 Hash 的使用,以及有序集合 ZSet 的操作。内容涵盖赋值、取值、增减、截取、删除等命令,是学习 Redis 的实用教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Redis 介绍

Redis(Remote Dictionary Server ),即远程字典服务。

一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key - Value 数据库,并提供多种语言的 API。

2. 启动

双击安装目录下的 redis-server.exe 打开服务,然后双击 redis-cli.exe 可以使用Redis,在 redis-cli.exe 打开的命令行中输入 ping ,如果能够连接Redis则会返回 PONG

3. redis-benchmark

Redis 安装后自带一个压力测试工具,即 redis-benchmark,使用这个工具能测试不同条件下redis的性能,常用的命令如下:

命令含义
-c (clients)客户端的并发量(默认 50)
-n (num)客户端请求数量(默认 100000)
-q仅仅显示 redis-benchmark 的 requests per second 信息
-r (random)向 Redis 插入更多随机的值
-P每个请求pipeline的数据量(默认为 1)
-k客户端是否使用 keepalive,1 为使用,0 为不使用,默认值为 1
-t对指定命令进行基准测试
–csv将结果按照 csv 格式输出

比如模拟100个并发用户的100000个请求操作如下

  • 在安装目录下打开命令行
  • 输入 redis-benchmark -h localhost -p 6379 -c 100 -n 100000

输出内容如下
在这里插入图片描述
可以看到,输出了每一条命令的执行时间以及每个时间段的完成率等信息。

4. 基础命令

Redis 默认有 16 个数据库,默认使用的是第 0 个数据库,不同数据库存不同的值,常用的命令如下:

命令含义
select 1切换到1号数据库
dbszie查看当前数据库大小
flushdb清空当前数据库
flushall清空所有数据库
keys *查看当前数据库所有的键
move hello 2将键移动到2号数据库
expire hello设置键生存时间,默认单位是秒
ttl hello查看键剩余生存时间
type hello查看键类型
del hello删除键

5. String 类型

5.1 赋值取值命令

命令含义
set key1 value普通的key-value赋值
append hello "Hello World"在键 hello 对应的值后面追加 “Hello World”
getset hello4 "Hello4"返回 hello4 键现在的值,然后对其进行赋值
mset key1 v1 key2 v2可以设置多个键值,对应的为 mget 获取多个键
setex hello 60 "Hello World"设置过期时间并创建
strlen hello获取hello键对应值的长度

5.2 增减命令

命令含义
incr num1执行一次会让对应 key 的值加 1
decr num1执行一次会让对应 key 的值减 1
incrby num1 10执行一次会按照设置的步长增加一次
decrby num1 10 执行一次会按照设置的步长减少一次

5.3 截取替换

命令含义
getrange hello 0 4截取对应值的字符串,截取的范围是左闭右闭
getrange 0 -1截取全部,与 get key 效果一致
getrange hello 0 4截取对应值的字符串,截取的范围是左闭右闭
setrange hello 6 sail从指定位置开始一一替换
getrange hello 0 4截取对应值的字符串,截取的范围是左闭右闭

6. List 类型

Redis里面定义列表的命令前面加 L 表示针对的是第一个元素, 命令前面加 R 表示针对的是最后一个元素。

6.1 赋值命令

命令含义
Lpush list one在第一个位置插入一个元素
Rpush list four在最后一个位置插入一个元素
Linsert list before two threetwo 之前插入 three
Linsert list after two threetwo 之后插入 three
Lset list 0 one赋值列表指定下标元素

6.2 取值命令

命令含义
Lrange list 0 1查询指定下标范围元素
Lrange list 0 -1查询所有元素
Llen list获取列表长度
Lset list 0 one获取下标为0的元素

6.3 删除命令

命令含义
Lpop list移除最左边的元素
Rpop list移除最右边的元素
Lrem list 1 one移除一个指定元素
Lrem list 2 three如果 three 有两个,则移除两个指定元素

6.4 截取和移动

命令含义
Ltrim list 1 2截取下标 1 到 2 的元素
Rpoplpush list list2移除列表list最后一个元素并移动到新列表list2

7. set 类型

7.1 赋值和移动

命令含义
Sadd set world为集合赋值
Smove set1 set2 hello移动 set1 中的 hello 到 set2 中(set2 不存在则创建)

7.2 取值命令

命令含义
Sismember set hello元素是否存在,存在返回 1,不存在返回 0
Smembers set1查看集合中的全部元素
Scard set返回集合中的元素个数
Srandmember set随机获取一个元素
Sdiff set1 set2取 set1 对于 set2 的差集
Sinter set1 set2取 set1 和 set2 的交集
Sunion set1 set2两个集合的并集

7.3 删除元素

命令含义
Srem set world 删除指定元素 world
Spop set 删除栈顶元素

8. hash类型

8.1 赋值命令

命令含义
Hset hash f1 sail单个Hash赋值
Hmset hash f2 sail2 f3 sail3多个哈希赋值
Hsetnx hash f4 1f4 不存在才赋值成功,否则赋值失败
Hincrby hash f3 1执行一次增加 1

8.2 取值命令

命令含义
Hget hash f1单个取值
Hmget hash f2 f3多个取值
Hgetall hash取得所有值
Hkeys hash取得所有key值
Hvals hash取得所有value值
Hlen hash获得哈希表长度
Hexists hash f1哈希字段是否存在

8.3 删除操作

命令含义
Hdel hash f3删除哈希值

9. 有序集合ZSet

9.1 赋值命令

命令含义
Zadd zset 1 one 添加指定的成员指定的分数存放在键的有序集合
Zadd zset 2 two 3 three添加多个指定的成员指定的分数存放在键的有序集合

9.2 取值命令

命令含义
Zrange zset 0 1获取第一和第二个值
Zrange zset 0 -1获取ZSet全部的值
Zrevrange zset 0 -1倒序查找ZSet中的元素
Zcard zset获取ZSet中元素个数
Zcount zset 1 3 获取分数值在 1和 3 之间的成员的数量

9.3 排序和删除

命令含义
Zrangebyscore zset -inf +inf负无穷到正无穷正序排列
Zrevrangebyscore zset +inf -inf正无穷到负无穷倒序排列
Zrem zset three移除指定元素 three
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值