专栏首页小码农漫漫积累路redis-基本介绍与linux安装

redis-基本介绍与linux安装

目录

redis 是什么

redis 是一个开源的内存数据库,属于 NoSQL 阵营

支持的数据类型

  • 字符串(string)
  • 哈希(hash)
  • 列表(list)
  • 集合(set)
  • 有序集合(sorted set)
  • 位图(BitMaps)
  • HyperLogLog
  • GEO 地理位置存储

BitMaps 位图:可以做布隆过滤器, 本质是字符串

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

GEO:地理定位信息(经纬度),本质是有序集合

redis 的特性

  • 速度快:10w ops(每秒10w读写),数据存在内存中,c语言实现,单线程模型
  • 功能丰富:发布订阅(消息) Lua脚本,事务(pipeline)
  • 简单:源代码几万行,不依赖外部库
  • 主从复制:主服务器和从服务器,主服务器可以同步到从服务器中
  • 高可用和分布式: 2.8 版本以后使用 redis-sentinel 支持高可用 3.0 版本以后支持分布式

正因此,也有很多大公司都在使用它,如:github,twitter,stackoverflow,阿里,百度,微博,美团,搜狐

redis 的典型使用场景 *****

  • 缓存系统
  • 计数器:网站访问量,转发量,评论数
  • 消息队列:发布订阅,阻塞队列实现
  • 排行榜:有序集合
  • 社交网络:很多特性跟社交网络匹配,粉丝数,关注数、附近的人
  • 实时系统:垃圾邮件处理系统,布隆过滤器

redis 单机安装

下载安装

下面是围绕 linux 系统环境展开的 后期尽量在 linux 或 mac 上开发,会少很多麻烦,比如 windows 上安装 mysql 的过程,体会过你就知道了 虚拟机上配好网络映射这些,就可以用 windows 上的图形化管理工具连接访问 redis 数据库了

# 下载(注意 当前目录 不要再桌面上)
# pwd  # 看看当前目录在哪儿
wget http://download.redis.io/releases/redis-5.0.7.tar.gz

# 解压
tar -xzf redis-5.0.7.tar.gz

# 建立软连接(相当于 windows 的环境变量)
ln -s redis-5.0.7 redis

cd redis
# 编译安装(要等一会儿的)
make&&make install

# src 文件夹下的几个与我们相关的文件
ll 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 服务?

源码安装可采用这个方式,查出进程 id,然后关闭进程(重启可以停掉再重开)

[root@localhost 桌面]# ps -ef | grep redis-server | grep 6379
root       8495   3895  0 00:26 pts/0    00:00:00 redis-server *:6379
[root@localhost 桌面]# kill -9 8495
[root@localhost 桌面]# ps -ef | grep redis-server | grep 6379

1.最简启动

# 最简启动
redis-server

# 另开终端
ps -ef|grep redis  # 查看 redis 进程

2.动态参数启动

cd src

#动态参数启动
redis-server --port 6380 # 启动redis 并指定端口为 6380

3.配置文件启动

# 配置文件启动
# (这个文件位置在哪、叫什么不重要)在 redis 目录下创建 config 目录,copy 一个 redis.conf 文件
cd redis
mkdir config
mkdir /root/data
cd config

vi redis.conf
'''写入如下内容(可自定义配置)

# 以守护进程模式启动(后台运行)
daemonize yes
# 这里开的端口要开通(可能云服务器默认开启的端口不包含这个)
port 6379
# 开放外部访问
bind 0.0.0.0
# 关闭保护模式,允许外界访问
protected-mode no
# 工作目录(这个目录也差不多是随意的,要提前创建好)
dir "/root/data"
logfile "6379.log"

'''

cd ..
#启动redis
redis-server config/redis.conf
#查看进程
ps -ef |grep redis-server |grep 6379
#查看日志
cd /root/data
cat 6379.log

客户端连接

6379 端口小插曲:此4个数字对应手机按键 MERZ,是意大利女歌手 Alessia Merz 的名字(小声嘀咕)

### 客户端连接测试 ###
redis-cli -h 127.0.0.1 -p 6379

# redis 命令行中输入 ping 会返回PONG
ping

# 退出 redis 命令行
exit

# 尝试用 windows 中的 redis 桌面管理工具来连接
ifconfig
# 找到 ip,然后用桌面工具建立连接即可

连接失败排错

参考博客【windows本地连不上虚拟机redis服务完美解决】,成功解决~

# 连接失败解决
# 先查看 虚拟机的 6379 端口是否打开,下面命令如果返回 no 则说明虚拟机的端口未打开
firewall-cmd --query-port=6379/tcp
# 打开 6379 端口(--permanent 参数让这条命令永久生效)
firewall-cmd --add-port=6379 --permanent
# 再次连接测试

# 若还是连接不上,请测试虚拟机与 windows 主机是否相通(在windows 命令行中)
ping ....虚拟机下 ifconfig 查到的 ip....
# 未通再检查虚拟机的网络连接

# 若端口开放了,也能 ping 通,那么检查一下虚拟机的防火墙
systemctl status iptables
# 发现我的虚拟机上 firewalld 防火墙开着,那么把它关掉(正式服务器上不建议这么做)
systemctl status firewalld
chkconfig firewalld off
# 再次尝试桌面工具连接,成功!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python 修改文件的创建时间、修改时间、访问时间

    突如其来想知道一下 python 如何修改文件的属性(创建、修改、访问时间),于是就去网上搜集了可行方案,也就有了这篇博客

    suwanbin
  • Go-环境搭建-hello world-变量常量定义-函数使用基础

    1)命名返回值(函数返回值定义那里),定义了就直接可以用了(不需要再在函数体里定义),也不需要再指定把它传出去(会自动把它一并 return 出去)

    suwanbin
  • python并发编程-进程间通信-Queue队列使用-生产者消费者模型-线程理论-创建及对象属性方法-线程互斥锁-守护线程-02

    基本方法:q.put(元素) q.get() q.get_nowait() q.full() q.empty()

    suwanbin
  • CentOS 6上的redis搭建实战记录

    redis 是一个基于内存的高性能key-value数据库,数据都保存在内存中定期刷新到磁盘,以极高的读写效率而备受关注。他的特点是支持各种数据结构,stirn...

    张善友
  • redis安装配置

    Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。

    老雷PHP全栈开发
  • window环境下安装Redis及可视化工具Redis Desktop Manager

    地址:https://github.com/MSOpenTech/redis/releases

    w候人兮猗
  • CentOS7 linux下yum安装redis以及使用

    w候人兮猗
  • django自带cache结合redis创建永久缓存

    https://www.runoob.com/redis/redis-install.html

    小小咸鱼YwY
  • redis数据库的使用

    redis载地址:https://github.com/MSOpenTech/redis/releases。

    小小咸鱼YwY
  • Redis系列---安装redis单机版02

      redis3.+版本(自行下载,redis 的版本:副版本号奇数版本号是测试版,不建议在生产环境中使用。偶数版本时稳定版建议在生产环境中使用。3.0 版本更...

    Arebirth

扫码关注云+社区

领取腾讯云代金券