Redis总结篇|上

本文深入探讨了Redis的核心功能,包括其作为高效缓存的原因、丰富的数据类型如String、List、Hash、Set和ZSet,以及内部扩容机制。还介绍了Redis的事务、持久化方法RDB和AOF的优缺点,以及如何在两者之间做出选择。此外,文章还讨论了发布和订阅功能在实现广播消息传递中的作用。

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


Redis概述 ✍


什么是Redis

Redis是Remote Dictionary Server(远程字典服务器)的缩写,可以作为高效的缓存。
Redis使用C语言开发,将数据保存在内存中,可以看成是一款纯内存的数据库,所以它的数据存取速度非常快。

Redis通过键值对的形式来存储数据。Redis的Key只能是String类型,Value值则可以是String类型,Map类型、List(列表)类型、Set(集合)类型、SortedSet(有序集合)等类型。


为什么用Redis做缓存

相比于其他的键值对内存数据库,Redis有如下特点:

  • 速度快。不需要等待磁盘IO,而是在内存之间进行数据存储和查询,速度非常快。缓存的数据总量不能太大,因为受到物理内存空间大小的限制
  • 丰富的数据结构
  • 单线程,避免了线程切换和锁机制的性能消耗 ,不过6.0后是多线程了
  • 可持久化,支持RDBAOF两种方式,将内存中的数据写入外部的物理存储设备
  • 支持发布、订阅
  • 支持Lua脚本
  • 支持分布式锁
  • 支持原子操作事务
  • 支持主从复制高可用集群
  • 支持管道,Redis管道是指客户端可以将多个命令一次性发送到服务器,然后由服务器一次性返回所有结果。管道技术的优点是,在批量执行命令的应用场景中,可以大大减少网络传输开销,提高性能

Redis安装启动

下载配置一下Redis

Linux服务器上:
 下载:
 wget http://download.redis.io/releases/redis-4.0.10.tar.gz
 解压
 tar -zxvf redis-4.0.10.tar.gz
 cd redis-4.0.10
 make MALLOC=libc (要求已安装gcc)
 make install

修改redis.conf文件





> redis-server redis.conf  启动
> redis-cli -a password  连接

也可以在命令行关闭:
redis-cli -p 6379 -a your_password shutdown
压测工具:
redis-benchmark -h localhost -p 6379 -c 50 -n 10000
具体可用参数翻文档

Redis配置文件解读 ⚙
















Redis数据类型 ✍


String字符串

Redis自己构建了简单的动态字符串SDS(类似ArrayList,预分配冗余空间),没有用c语言原生的。
String类型既可以存储文字,又可以存储数数字,还可以存储二进制数据。

127.0.0.1:6379> set foo name
OK
127.0.0.1:6379> mset f1 str f2 strr f3 strrr
OK
127.0.0.1:6379> get foo
"name"
127.0.0.1:6379> get f1
"str"
127.0.0.1:6379> mget f1 f2 f3
1) "str"
2) "strr"
3) "strrr"
127.0.0.1:6379> strlen f1
(integer) 3
127.0.0.1:6379> set n1 1.0
OK
127.0.0.1:6379> get n1
"1.0"
127.0.0.1:6379> set n2 1
OK
127.0.0.1:6379> incr n2
(integer) 2
127.0.0.1:6379> set bina1 101110
OK
127.0.0.1:6379> get bina1
"101110"

应用场景

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值