Redis(1)初识

Redis

redis

Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps. (http://redis.io

Redis特性

  • 速度快
    1. 支持10w OPS
    2. 数据存储在内存中,存取熟读快
    3. 使用C语言编写,执行效率较高
    4. 单线程模型,避免多线程上下文切换的额外消耗,连接使用多路复用
  • 可持久化
  • 支持多种数据结构
    1. String(BitMaps/HyperLogLog/Blobs)
    2. Map(Object)
    3. List
    4. Set
    5. Zset
    6. GEO
  • 支持多种编程语言
    1. Java
  • 功能丰富
    1. 发布订阅
    2. Lua脚本
    3. 事物
    4. pipeline
  • 使用简单
    1. 23k代码(不包括集群)
    2. 不依赖外部库
    3. 单线程模型
  • 支持主从复制
  • 支持高可用、分布式
    1. Redis-Sentinel(2.8+)
    2. Redis-Cluster(3.0+)

使用场景举例

  • 缓存系统:App Cache
  • 计数器:视频播放数
  • 消息队列系统:发布订阅
  • 排行榜:热搜
  • 社交网络:转发数、评论数、点赞数
  • 实时系统:布隆过滤器、geo

Redis安装(Linux)

cd /usr/local
wget http://download.redis.io/releases/redis-5.0.8.tar.gz
tar -xzvf redis-5.0.8.tar.gz
mv redis-5.0.8 redis
cd redis
make 
make install

Redis可执行文件

  • redis-server:Redis服务器
  • redis-cli:Redis Client Shell
  • redis-benchmark:Redis性能测试工具
  • redis-check-aof:AOF文件检查修复工具
  • redis-check-dump:RDB文件检查修复工具
  • redis-sentinel:Redis Sentinel服务器

Redis启动方法

  • 最简启动:redis-server
  • 动态参数启动:redis-server --port=6379
  • 配置文件启动:redis-server /etc/redis.conf

Redis客户端连接

redis-cli -h 127.0.0.1 -p 6379

Redis客户端返回值类型

  • 状态回复
    127.0.0.1:6379> ping
    PONG
    127.0.0.1:6379> 
    
  • 错误回复
    127.0.0.1:6379> hget hello field
    (error) WRONGTYPE Operation against a key holding the wrong kind of value
    127.0.0.1:6379> 
    
  • 整数回复
    127.0.0.1:6379> set num 1
    OK
    127.0.0.1:6379> incr num
    (integer) 2
    127.0.0.1:6379>
    
  • 字符串回复
    127.0.0.1:6379> get hello
    "world"
    127.0.0.1:6379> 
    
  • 多行字符串回复
    127.0.0.1:6379> mget hello foo
    1) "world"
    2) "bar"
    127.0.0.1:6379> 
    

Redis-server常用配置

配置项意义默认值建议值
daemonize是否以守护进程方式启动noyes
portRedis服务端口6379合适的端口
logfileRedid日志文件路径--
dirRedis工作目录,日志文件、持久化文件将在工作目录下创建--

可以使用config get [name|*]获取某个配置或所有配置

### Redis 入门教程初学者指南 Redis 是一种高性能的键值对存储系统,广泛应用于缓存、消息队列以及实时数据分析等领域。作为一种开源软件,Redis 支持多种数据结构操作并提供丰富的功能特性。 #### 1. Redis 的基本概念 Redis 不仅是一个简单的键值存储工具,还提供了字符串(String)、哈希(Hash)、列表(List)、集合(Set) 和有序集合(Sorted Set)等多种复杂的数据结构支持[^2]。这些数据结构使得开发者能够轻松实现各种复杂的业务逻辑需求。 #### 2. 安装与环境配置 为了开始使用 Redis,需要先完成其安装过程。通常情况下,在 Linux 或 macOS 平台上可以通过包管理器快速部署;而在 Windows 上则推荐采用 Docker 方式来运行容器化的 Redis 实例[^3]。 ```bash # 使用 apt-get (适用于 Ubuntu/Debian 系统) sudo apt update && sudo apt install redis-server # 启动服务 redis-server --daemonize yes ``` #### 3. 数据结构解析 以下是几种主要的数据类型及其用途简介: - **字符串(String)**: 存储单个值或者作为计数器使用。 ```lua SET mykey "Hello" GET mykey INCR counter_key ``` - **哈希(Hash)**: 表示对象字段与其对应值得映射关系。 ```lua HMSET user:1000 username "Alice" age 30 HGETALL user:1000 ``` - **列表(List)**: 双端链表形式用于 FIFO/LIFO 队列模拟。 ```lua LPUSH queue item1 RPUSH queue item2 LPOP queue RPOP queue ``` - **集合(Set)& 有序集合(Sorted Set)**: 去重后的无序集合或带分数权重排序版。 ```lua SADD unique_items apple banana orange SMEMBERS unique_items ZADD leaderboard 95 alice 87 bob 76 charlie ZRANGE leaderboard 0 -1 WITHSCORES ``` #### 4. 持久化机制 Redis 提供两种持久化方式——RDB 快照文件和 AOF 日志记录。前者定期保存当前状态至磁盘,后者则是每次写命令追加到日志中以便恢复时重新执行所有变更[^2]^。 #### 5. 应用场景举例 一些常见的 Redis 使用场景包括但不限于网站访问统计、会话管理、购物车暂存等功能模块开发过程中发挥重要作用. --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值