Redis 基本概念

1.redis 介绍

开源
基于键值对的存储服务系统 java map / python Dict /Ruby…
多种数据结构 /字符串/哈希/列表/集合/有序集合
高性能、功能丰富

谁在使用?
GitHub twitter(社交网络) stackOverflow
Alibaba group baidu meituan sohu

Redis特性

1.速度快(每秒10w OPS)

Redis的所有数据都是存放在内存中的
Redis是用C语言实现的
Redis使用了单线程架构, 预防了多线程可能产生的竞争问题

2.持久化
通常看, 将数据放在内存中是不安全的, 一旦发生断电或者机器故障,
重要的数据可能就会丢失, 因此Redis提供了两种持久化方式: RDBAOF, 即可以用两种策略将内存的数据保存到硬盘中(如图1-1所示) , 这样就保证了数据的可持久性.

3.多种数据结构
它主要提供了5种数据结构: 字符串、 哈希、 列表、 集合、 有序集合
另外三种数据结构
BitMaps ;位图
HyperLogLog:超小内存唯一值计数
GEO:地理信息定位

4.支持多种编程语言

5丰富的功能

提供了键过期功能, 可以用来实现缓存
提供了发布订阅功能, 可以用来实现消息系统
提供了简单的事务功能, 能在一定程度上保证事务特性。

6.简单稳定
首先, Redis的源码很少,其次, Redis使用单线程模型,Redis不需要依赖于操作系统中的类库.

7.主从复制
Redis提供了复制功能, 实现了多个相同数据的Redis副本(如图1-2所
示) , 复制功能是高可用,分布式Redis的基础.

8.高可用,分布式

应用方向

1.缓存:Redis提供了键值过期时间设置
用户–>App Server(java tomcat, PHP apache) –>cache(redies)–>storage

2.排行榜系统:Redis提供了列表和有序集合数据结构

3.计数器应用:Redis天然支持计数功能而且计数的性能也非常好, 可以说是计数器系统的重要选择。

4.社交网络:传统的关系型数据不太适合保存
这种类型的数据, Redis提供的数据结构可以相对比较容易地实现这些功
能。

5.消息队列系统:Redis提供了发布订阅功能和阻塞队列的功
能, 虽然和专业的消息队列比还不够足够强大, 但是对于一般的消息队列功能基本可以满足。

2.Redis 安装(Linux)

wget http://download.redis.io/releases/redeis-3.0.7.tar.gz
tar -xzf redis-3.0.7.tar.gz
ln -s redis-3.0.7 redis (建立软连接)
cd redis
make && make install(编译和安装)

src /usr/local/bin目录下:
redis-server: redis 服务器
redis-cli: redis 命令行客户端
redis-benchmark:性能测试
redis-check-aof:Aof文件修复工具
redis-check-rdb: rdb文件修复工具
redis-Sentinel

2.1启动方式

redis/ (解压后的文件)
1.直接使用redis-server (通过默认配置启动)

2.动态参数启动
redis-server –port 6380(默认启动窗口)

3.配置文件启动

【cd /opt /soft
cd redis
mkdir config
cp redis.conf config/
mv redis.conf redis-6381.conf(重命名)
vim redis-6381.conf :q(退出)
cat redis-6381.conf |grep -v “#” | grep -v “^$” (不查看空格和注释文件)
cat redis-6381.conf |grep -v “#” |grep -v “^$” >redis-6382.conf(重定向到新文件中)
rm -rf redis-6381.conf(-r :子目录及子目录中所有档案删除 -f:强行删除file,系统不再提示)
vim redis-6382.conf
( daemonize YES
dir “/opt/soft/redis/data”
logfile “6382.log”
剩下的可以删 )
cd /opt/soft/redis
mkdir data
redis-server config/redis-6382.conf

三种方式比较
一般选择配置文件方式启动,redis是单线程,可以使用不同的端口区分开
ps -ef | grep redis-server(查看redis 服务的进程)

2.2客户端的连接

//任意目录下
redis-cli -h 127.0.0.1 -p 6379
set hello world —-ok
get hello —-“world”
exit

2.3Redis 客户端返回值

状态回复: ping—-PONG
错误回复:(error)
整数回复:(Integer)
字符串回复:“world…”
多行字符串回复:1)“world”
2)“hello”….

2.4常用配置

daemonize:是否是守护进程(默认NO)
port: Redis 对外端口号(默认6379)
logfile:Redis 系统日志
dir:Redis 工作目录(logfile 持久化文件存放位置)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值