redis初识

redis初识

1.1 Redis是什么

介绍

开源:早起版本2w3千行

基于键值对的存储系统:字典形式

多种数据结构:字符串,hash,列表,集合,有序集合

高性能,功能丰富

那些公司在用

github,twitter,stackoverflow,阿里,百度,微博,美团,搜狐

1.2 Redis特性(8个)

速度快:10w ops(每秒10w读写),数据存在内存中,c语言实现,单线程模型

持久化:rdb和aof

多种数据结构

5大数据结构

BitMaps位图:布隆过滤器 本质是 字符串

HyperLogLog:超小内存唯一值计数,12kb HyperLogLog 本质是 字符串

GEO:地理信息定位 本质是有序集合

支持多种编程语言:基于tcp通信协议,各大编程语言都支持

功能丰富:发布订阅(消息) Lua脚本,事务(pipeline)

简单:源代码几万行,不依赖外部库

主从复制:主服务器和从服务器,主服务器可以同步到从服务器中

高可用和分布式

2.8版本以后使用redis-sentinel支持高可用

3.0版本以后支持分布式

1.3 Redis单机安装

1.3.1下载安装
# 下载
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
# 解压
tar -xzf redis-5.0.7.tar.gz
# 建立软连接
ln -s redis-5.0.7 redis
cd redis
make&&make install
# 在src目录下可以看到
redis-server ===> redis服务器
redis-cli ===> redis命令行客户端
redis-benchmark ===> redis性能测试工具
redis-check-aof ===> aof文件修复工具
redis-check-dump ===> rdb文件检查工具
redis-sentinel ===> sentinel服务器,哨兵
redis作者对windows维护不好,window自己有安装包

# 卸载redis
# 1、查看redis进程;
ps aux|grep redis
# 2、kill掉进程;
kill 进程id
# 3、进入到redis目录
cd /usr/local/
# 4、删除redis对应的文件
rm -f /usr/local/redis/bin/redis*
rm -f /usr/local/bin/redis*
# 5、删除对应的文件
rm -rf redis
1.3.2三种启动方式
1.3.2.1 最简启动
#最简启动
redis-server
ps -ef|grep redis             # 查看进程
netstat -antpl|grep redis     # 查看端口
redis-cli -h ip -p port ping  # 命令查看
1.3.2.2 动态参数启动
# 动态参数启动
redis-serve --port 6380 # 启动,监听6380端口
1.3.2.2 配置文件启动
# 配置文件启动(6379对应手机按键MERZ,意大利女歌手Alessia Merz的名字)
# 通过redis-cli连接,输入config get * 可以获得默认配置
# 在redis目录下创建config目录,copy一个redis.conf文件
daemonize ===> 是否是守护进程启动(no|yes)
port      ===> 端口号
logfile   ===> redis系统日志
dir       ===> redis工作目录

配置文件

# 查看一下默认注释,把#和空格去掉
cat redis.conf|grep -v "#" |grep -v "^$"
# 重定向到另一个文件
cat redis.conf|grep -v "#" |grep -v "^$" >redis-6382.conf

'''
daemonize yes                # 是否以守护进程启动
pidfile /var/run/redis.pid   # 进程号的位置,删除
port 6379                    # 端口号
dir "/opt/soft/redis/data"   # 工作目录
logfile “6379.log”           # 日志位置  
# 其他全删掉
'''

# 在redis目录下新建data目录,用来存放书籍
# 启动redis
redis-server config/redis.conf
# 查看进程
ps -ef |grep redis-server |grep 6379
# 查看日志
cd data
cat 6379.log
1.3.3 客户端连接(命令)
###客户端连接###
redis-cli -h 127.0.0.1 -p 6379
ping # 返回PONG

# 有密码的情况可以两种登陆方式
    # 方式一
    	redis-cli -h 127.0.0.1 -p 6370 -a 123456
    # 方式二
    	先登陆,再通过auth输入密码 
    	redis-cli -h 127.0.0.1 -p 6370
    	auth 123456

# redis-cli进入
CONFIG GET *                   # 一百多对建值
CONFIG SET maxmemory 128M      # 设置最大使用的内存
CONFIG set requirepass 123456  # 设置密码
CONFIG REWRITE                 # 保存到配置文件
1.3.4 redis返回值
# redis返回值
状态回复:
	ping ===> PONG
	
错误回复:
	hget hello field ===> (error)WRONGTYPE Operation against
	
整数回复:
	incr hello ===> (integer) 1
	
字符串回复:
	get hello ===> "world"
	
多行字符串回复:
	mget hello foo ===> "world" "bar"

1.4 Redis典型使用场景

1. 缓存系统:
使用最广泛的就是缓存

2. 计数器:
网站访问量,转发量,评论数(文章转发,商品销量,单线程模型,不会出现并发问题)

3. 消息队列:
发布订阅,阻塞队列实现(简单的分布式,blpop:阻塞队列,生产者消费者)

4. 排行榜:
有序集合(阅读排行,点赞排行,推荐(销量高的,推荐))

5. 社交网络:
很多特效跟社交网络匹配,粉丝数,关注数

6. 实时系统:
垃圾邮件处理系统,布隆过滤器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I believe I can fly~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值