关于Redis数据库入门详细介绍

目录
  • 1、Redis是什么?
  • 2、Redis特点:
    • 单线程为何如此快?
  • 3、redis 对比 memcached
  • 4、redis 典型应用场景:
  • 5、Redis下载与安装:
    • Redis服务控制:
  • Redis 命令工具:
    • redis-benchmark 测试工具
    • redis-cli 命令行工具:

1、Redis是什么?

非关系型数据库:NoMsql

主流的 NoSQL 数据库有Redis、 MongBD、 Hbase、 Memcached 等。

Redis译为“远程字典服务”,它是一款基于内存实现的键值型 NoSQL 数据库, 通常也被称为数据结构服务器,这是因为它可以存储多种数据类型,比如 string(字符串),hash(哈希散列),list(列表),set(集合)和 sorted set(有序集合)等。

Redis 遵守 BSD 协议,实现了免费开源,其最新版本是 6.20,常用版本包括 3.0 、4.0、5.0。

自 Redis 诞生以来,它以其超高的性能、完美的文档和简洁易懂的源码广受好评,国内外很多大型互联网公司都在使用 Redis,比如腾讯、阿里、Twitter、Github 等等。

2、Redis特点:

Redis 不仅可以将数据完全保存在内存中,还可以通过磁盘实现数据的持久存储;Redis 支持丰富的数据类型,包括 string、list、set、zset、hash 等多种数据类型,因此它也被称为“数据结构服务器”;Redis 支持主从同步,即 master-slave 主从复制模式。数据可以从主服务器向任意数量的从服务器上同步,有效地保证数据的安全性;Redis 支持多种编程语言,包括 C、C++、Python、Java、PHP、Ruby、Lua 等语言。

Redis 6.0版本前一直是单线程方式处理用户的请求;

单线程为何如此快?

纯内存

非阻塞

避免线程切换和竞态消耗

Redis 没有提供新建数据库的操作,因为它自带了 16 (0—15)个数据库(默认使用 0 库)。在同一个库中,key 是唯一存在的、不允许重复的,它就像一把“密钥”,只能打开一把“锁”。键值存储的本质就是使用 key 来标识 value,当想要检索 value 时,必须使用与 value 相对应的 key 进行查找。

3、redis 对比 memcached

memcached redis
类型 key-value key-value
过期策略 支持 支持
数据类型 单一数据类型 五大数据类型
持久化 不支持 支持
主从复制 不支持 支持
虚拟内存 不支持 支持

4、redis 典型应用场景:

Session 共享:常见于web集群中的Tomcat或者PHP中多web服务器session共享;

缓存:数据查询、电商网站商品信息、新闻内容;

计数器:访问排行榜、商品浏览数等和次数相关的数值统计场景;

微博/微信社交场合:共同好友,粉丝数,关注,点赞评论等;

消息队列:ELK的日志缓存、部分业务的订阅发布系统;

地理位置: 基于GEO(地理信息定位),实现摇一摇,附近的人,外卖等功能;

5、Redis下载与安装:

注意:Windows 系统可以下载安装非官方的 Redis 版本,不过其使用性能远不如 Linux 系统。

这里我们在centos7上部署安装Redis 5.0.7版本:

rpm源码包下载地址:wget https://download.redis.io/releases/redis-5.0.7.tar.gz

#关闭防火墙和SELinux
systemctl stop firewalld
setenforce 0

#安装依赖包
yum install -y gcc gcc-c++ make

#下载软件包
cd /opt
wget https://download.redis.io/releases/redis-5.0.7.tar.gz
tar zxf redis-5.0.7.tar.gz
cd redis-5.0.7/
make
make PREFIX=/usr/local/redis install

#由于Redis源码包中直接提供了Makefile 文件,所以在解压完软件包后,不用先执行./configure进行配置,可直接执行make与make install 命令进行安装。


cd /opt/redis-5.0.7/utils
./install_server.sh
#。。。。一直回车到这一步
#需要手动修改为可执行文件路径,注意要一次性正确输入
Please select the redis executable path [] /usr/local/redis/bin/redis-server

把redis的可执行程序文件放入路径环境变量的目录中便于系统识别;

ln -s /usr/local/redis/bin/* /usr/local/bin/

#当install_server.sh 脚本运行完毕,Redis 服务就已经启动,默认侦听端口为6379
ss -natp | grep 6379

Redis服务控制:

/etc/init.d/redis_6379 stop                    #停止
/etc/init.d/redis_6379 start                   #启动
/etc/init.d/redis_6379 restart                 #重启
/etc/init.d/redis_6379 status                  #查看状态
#修改配置/etc/redis/6379.conf 参数
#70行,添加,监听的主机地址
vim /etc/redis/6379.conf
bind 127.0.0.1 192.168.111.100

#修改配置后要重启Redis
/etc/init.d/redis_6379 restart

Redis 命令工具:

redis-server 用于启动 Redis的工具
redis-benchmark 用于检测Redis在本机的运行效率
redis-check-aof 修复AoF持久化文件
redis-check-rdb 修复RDB持久化文件
redis-cli Redis 命令行工具

redis-benchmark 测试工具

语法: redis-benchmark [选项] [选项值]

-h :指定服务器主机名。
-P :指定服务器端口。
-s :指定服务器socket
-c :指定并发连接数。
-n :指定请求数。
-d :以字节的形式指定SET/GET值的数据大小。
-k : 1=keep alive 0=reconnect 。
-r : SET/GET/INCR 使用随机key, SADD 使用随机值。
-P :通过管道传输请求。
-q :强制退出redis。 仅显示query/sec值。
–csv :以 CSV 格式输出。
-l :生成循环,永久执行测试。
-t :仅运行以逗号分隔的测试命令列表。,
-I :Idle 模式。仅打开 N 个 idle 连接并等待。

#向IP地址为192.168.111.100、 端口为6379的Redis 服务器发送100 个并发连接与100000 个请求测试性能
redis-benchmark -h 192.168.111.100 -P 6379 -c 100 -n 100000
#测试存取大小为100字节的数据包的性能
redis-benchmark -h 192.168.111.100 -P 6379 -q -d 100
#测试本机上 Redis 服务在进行 set 与lpush 操作时的性能
redis-benchmark -t set,lpush -n 100000 -q

redis-cli 命令行工具:

---redis-cli 命令行工具------
redis-cli  -h 192.168.111.100 -p 6379 -a 123123 -n 数据库序号(0-15)
-h:指定远程主机地址
-p:指定redis服务端口
-a:指定密码,未设置数据库密码可以省略-a选项
-n:指定数据库序号,默认是序号0,redis有16个库(0-15)
若不添加任何选型表示,则使用127.0.0.1:6379 连接本机上的redis 数据库

到此这篇关于关于Redis数据库入门详细介绍的文章就介绍到这了,更多相关Redis数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • redis4.0入门小结

    前言 redis作为nosql家族中非常热门的一员,也是被大型互联网公司所青睐,无论你是开发.测试或者运维,学习掌握它总会为你的职业生涯增色添彩. 当然,你或多或少已经了解redis,但是你是否了解其中的某些细节,本片文章将详细介绍redis基础,后续也会介绍其高级部分如.持久化.复制.集群等内容,希望对你有所帮助. 自redis3.0发布已经3年了,redis目前官方提供的redis稳定版本是4.0,以下示例均在4.0版本上进行. 一.redis简介 概述 redis(REmote DIcti

  • Redis入门教程详解

    目录 Redis 一.Redis基本数据结构 1. 字符串 (String) 2. 散列(hash) 3. 列表(list) 4. 集合(Set) 5. 有序集合(sorted set) 二.Redis的高级数据结构 1. HyperLogLog 2. GEO 3. BitMap 三.Redis 高级特性 1. Redis事务 2. 发布订阅 3. 脚本 4. Redis Stream 四.Redis使用场景 1. 业务数据缓存 2. 业务数据处理 3. 全局一致计数 4. 高效统计计数 5.

  • 关于Redis数据库入门详细介绍

    目录 1.Redis是什么? 2.Redis特点: 单线程为何如此快? 3.redis 对比 memcached 4.redis 典型应用场景: 5.Redis下载与安装: Redis服务控制: Redis 命令工具: redis-benchmark 测试工具 redis-cli 命令行工具: 1.Redis是什么? 非关系型数据库:NoMsql 主流的 NoSQL 数据库有Redis. MongBD. Hbase. Memcached 等. Redis译为"远程字典服务",它是一款基

  • Redis分布式锁详细介绍

    目录 分布式锁 redis实现分布式锁的原理 死锁问题 超时问题 锁误放问题 可重入性 Redlock 分布式锁 在单进程应用中,当一段代码同一时间内只能由一个线程执行时, 多线程下可能会出错,例如两个线程同时对一个数字做累加,两个线程同时拿到了该数字,例如40,一个线程加了10,一个线程加了20,正确结果应该是70, 但由于两个线程在自己的内存中一个算出的是50,一个算出的是60,此时二者都将自己的结果往该数字原本的地方写(保存), 这时候,肯定会有一个线程的值会被覆盖,因为读取->计算->

  • 搭建Redis服务器步骤详细介绍

    目录 安装Redis  配置redis.config 测试登录 可视化redis软件 redis命令行中文乱码 安装Redis 我的安装包在 tar -zxvf redis-6.2.6.tar.gz 如果-zxvf不行就-xvf 解压后 cd redis-6.2.6 页面如下   再执行 make && make install 结束后,再把redis-6.2.6目录里面的redis.config拷贝到/use/local/bin/redis.config cp /opt/redis-6.

  • Redis数据库分布式设计方案介绍

    目录 1 哈希取余分区 2 一致性哈希算法分区 2.1 一致性哈希环 2.2 节点映射 2.3 落键规则 2.4 优缺点 3 哈希槽计算 总结 问题:1-2亿数据需要缓存,如何设计? 1 哈希取余分区 2亿条记录就是2亿个k,v,假设有3台机器构成一个集群,用户每次读写操作都是根据公:hash(key) % N个机器台数,计算出哈希值,并用来决定数据映射到哪一个节点上.取数据的时候只需要个根据公式在相应的机器,用key就可以取到value. 优点:  简单粗暴,直接有效,只需要预估好数据规划好节

  • 超强、超详细Redis数据库入门教程

    [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使用redis 4.学会安装redis 5.学会启动redis 6.使用redis客户端 7.redis数据结构 – 简介 8.redis数据结构 – strings 9.redis数据结构 – lists 10.redis数据结构 – 集合 11.redis数据结构 – 有序集合 12.redis数据结构 – 哈希 13.聊聊redis持久化 – 两种方式 14.聊聊redis持久化 – RDB 15.聊聊redis持

  • Java中集合List、Set和Map的入门详细介绍

    目录 一.Collection接口 二.List集合 2.1介绍 2.1.1 ArrayList(数组) 2.1.2 Vector(数组实现.线程同步) 2.1.3 LinkList(链表) 2.2 List特性 2.3 List常用方法 2.4 List总结 三.Set集合 3.1介绍 3.2 分类 3.2.1 HashSet(Hash表) 3.2.2 TreeSet(二叉树) 3.2.3 LinkHashSet(HashSet+LinkedHashMap) 四.Map集合 4.1 HashM

  • SQL SERVER 2008数据库引擎详细介绍

    SQL Server 的数据库引擎组件是用于存储.处理数据和保证数据安全的核心服务.数据库引擎提供受控的访问和快速事务处理,以满足企业中要求极高.大量使用数据的应用程序的要求. SQL Server 支持在同一台计算机上最多存在 50 个数据库引擎实例.对于本地安装,必须以管理员身份运行安装程序.如果从远程共享安装 SQL Server,则必须使用对远程共享具有读取和执行权限的域帐户. 高可用性解决方案概述 高可用性解决方案可减少硬件或软件故障造成的影响,保持应用程序的可用性,尽可能地减少用户所

  • 如何恢复Mysql数据库的详细介绍

    由于在一台测试机器上打算重新安装Mysql数据库,由于简单粗暴的直接卸载了,没有备份公司Discuz和Redmine使用的Mysql数据库,过程可想的悲惨. 还好的是只是卸载掉了Mysql的程序,所有的数据文件还是存在的. 下面是在恢复数据库的过程 1. Discuz数据库 Discuz数据库的恢复非常顺利, 在安装好新版本的Mysql后,直接将原来的数据库文件copy到新的数据目录中,重新启动mysql, 就能看到恢复的数据库了 2. Redmine数据库 本打算直接使用上面的经验,也能看到所

  • SQL Server 2005 数据库复制详细介绍

    对于一个地域分散的大型企业组织来说,构建具有典型的分布式计算机特征的大型企业管理信息系统时,总要解决一个很重要的问题:如何在多个不同数据库服务器之间保证共享数据的一致性.之所以有这个重要的问题在于企业组织在不同地点对具有相同结构的本地数据库进行修改,但要保证修改后的数据库有相同的结果,其本质就是在对本地数据库的修改体现在其他具有相同数据的远程数据库中.那么如何解决这个问题就要用到数据库的复制技术. SQL SERVER提供了内置的复制能力,复制组件并不是附加产品,而是核心引擎的一部分.在复制这个

  • 用python 批量操作redis数据库

    方法一:使用 pipeline 使用pipelining 发送命令时,redis server必须部分请求放到队列中(使用内存)执行完毕后一次性发送结果,在 pipeline 使用期间,将"独占"链接,无法进行非"管道"类型的其他操作,直至 pipeline 关闭:如果 pipeline 的指令集很多很庞大,为了不影响其他操作(redis 最大时间lua-time-limit默认是5s),可以使用其他新建新链接操作.批量操作如下: import redis r =

随机推荐