码迷,mamicode.com
首页 > 其他好文 > 详细

Redis初识

时间:2021-01-25 11:08:42      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:网络   lazy   pass   com   获取值   code   wget   方式   pipe   


第1章 Redis初识

Redis 是什么

  • 开源
  • 基于键值的存储服务系统
  • 多种数据结构
    • strings
    • hash
    • linked list
    • sets
    • sorted sets
  • 高性能、功能丰富

Redis 的特性

  1. 速度快
  2. 持久化
  3. 多种数据结构
  4. 支持多种编程语言
  5. 功能丰富
  6. 简单
  7. 主从复制
  8. 高可用、分布式

1. 速度快

  • 10w OPS
  • 数据存储在内存中
  • 使用 C 语言编写
  • 单线程模型

寄存器、缓存器、内存以及磁盘访问速度、容量、价格对比图

技术图片

内存、SSD 盘、机械盘性能对比

技术图片

2. 持久化

Redis 将所有数据保持在内存中,对数据的更新将异步地保存到磁盘上

3. 支持多种数据结构

技术图片

  • Strings
  • Hash
  • Linked Lists
  • Sets
  • Sorted Sets
  • Strings 衍生的数据结构
    • BitMaps : 位图
    • HyperLogLog :超小内存唯一值计数
  • Sets 衍生的数据结构
    • GEO : 地理信息定位

4. 支持多种编程语言

  • java
  • php
  • python
  • ruby
  • lua
  • node.js

5. 功能丰富

  • 发布订阅
  • Lua 脚本
  • 事务
  • Pipeline

6. 简单

  • Redis 3.0 版本只有 23000 行代码
  • 不依赖外部库(like libevent)
  • 单线程模型

7. 主从复制

8. 高可用、分布式

Redis 的典型使用场景

  • 缓存系统
  • 计数器
  • 消息队列系统
  • 排行榜
  • 社交网络
  • 实时系统

Redis 的安装

Redis 安装

1)下载 redis 二进制安装包

wget https://download.redis.io/releases/redis-xxx.tar.gz

2)解压

tar -xzf redis-xxx.tar.gz

3)建立软链接
为了方便管理和升级,建立软链接

ln -s  /path/redis-xxx  /usr/local/redis-xxx

4)编译和安装
切换到 redis 安装目录,编译并安装

cd /usr/local/redis-xxx
make && make install

5)创建工作目录

mkdir /data/redis/redis6379/data

6)在 Redis 目录下创建配置文件并配置相应的参数
在单机多实例下,以端口号来区分不同实例,因此将配置文件带上端口号后缀

cd /data/redis/redis6379
touch redis6379.conf

配置参数

daemonize  yes                           -- 以守护进程的方式启动
pidfile    /var/run/redis6379.pid        -- 进程号存储位置,在单机多实例下要用端口号来区分
port       6379                          -- 对外端口号
dir        "/data/redis/redis6379/data"  -- 工作目录
logfile    "redis-6379.log"              -- 日志文件名

用配置文件启动 Redis

redis-server /data/redis/redis6379/redis6379.conf

可执行文件说明

redis 可执行文件保存在 src 目录内

#find /usr/local/redis/src/ -perm -u+x,-g+x,-o+x | grep redis-
/usr/local/redis/src/redis-benchmark
/usr/local/redis/src/redis-server
/usr/local/redis/src/redis-trib.rb
/usr/local/redis/src/redis-cli
/usr/local/redis/src/redis-sentinel
/usr/local/redis/src/redis-check-rdb
/usr/local/redis/src/redis-check-aof
可执行文件 说明
redis-server Redis 服务器
redis-cli Redis 命令行客户端
redis-benchmark Redis 性能测试工具
redis-check-aof AOF 文件修复工具
redis-check-dump RDB 文件检查工具
redis-sentinel Sentinel 服务器
redis-trib.rb Redis-Cluster 管理工具

三种启动方法

配置文件启动(推荐使用)

redis-server /path/config_file

最简启动

redis-server

动态参数启动

redis-server  --port 6380

三种启动方式比较

  • 生产环境建议使用配置文件来启动
  • 单机多实例配置文件可以用不同端口号区分开

验证是否启动成功

方式1

ps -ef | grep redis

方式2

netstat -antpl | grep redis

方式3

redis-cli -h 127.0.0.1 -p 6379 -a password_of_redis ping

简单的客户端连接

#redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set foo "hello world"
OK
127.0.0.1:6379> get foo
"hello world"

Redis 客户端返回值

1)状态回复

127.0.0.1:6379> ping
PONG
  1. 错误回复
    字符串型的键使用 hget 方法来获取值
127.0.0.1:6379> hget foo field
(error) WRONGTYPE Operation against a key holding the wrong kind of value

3)整数回复

127.0.0.1:6379> incr number
(integer) 1

4)字符串回复

127.0.0.1:6379> get foo
"hello world"

5)多行字符串回复

127.0.0.1:6379> mget foo number
1) "hello world"
2) "1"

Redis 常用配置

  • daemonize : 是否是守护进程(no | yes)
  • port : Redis 对外端口号
  • logfile : Redis 系统日志
  • dir : Redis 工作目录

Redis初识

标签:网络   lazy   pass   com   获取值   code   wget   方式   pipe   

原文地址:https://www.cnblogs.com/ymsu/p/14316602.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!