Redis 简介
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 是属于非关系型数据库
1.数据比模型较简单
2.需要灵活性更强的IT系统
3.对数据库性能要求较高
4.不需要高度的数据一致性
5.对于给定的key,比较容易映射复杂值的环境

Redis简介

优点:

对数据高并发读写
对海量数据的高效率存储和访问
对数据的可扩展性和高可用性

缺点:

redis(ACID处理非常简单)
ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库,必须要具有这四种特性,否则在事务过程(Transaction processing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。
无法做到太复杂的关系型数据库模型
Redis持久化两种机制rdb和aof

Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

redis的安装

redis的服务端安装
gcc编译c的,因为redis是c编写的,所以我们先安装下gcc、

yum install gcc-c++

下载redis压缩包 并解压

reids的各个版本的下载地址:
http://download.redis.io/releases/

第一种方式是 在线安装
yum -y install wget
wget http://download.redis.io/releases/redis-5.0.2.tar.gz

第二种是直接去reis官网下载离线安装包,上传到Linux中,推荐使用第二种 (在网速不是很快的情况下,我百度云中已经提供了安装包)。

Tar -xvf redis-5.0.2.tar.gz(解压)

编译
cd redis-5.0.2/(进入目录)
Make(编译)

修改配置文件 redis.conf
redis-5.0.2 /redis.conf

将配置文件中的 daemonize 修改成 yes 。这是 开启守护进程,不开启的话,不能做其他操作
#daemonize no
daemonize yes

启动 redis
可以操作如下(指定redis.conf)
./src/redis-server redis.conf

使用reids客户端工具 reids-cli 测试是否成功
./src/redis-cli (使用redis)
连接上后运行ping 命令。如果输出如下结果就代表成功了:

配置密码登录
vi /etc/redis/redis.conf #编辑redis配置文件

#找到下面这一行并去除注释,并添加密码(396行)
#requirepass foobared                                  #修改前
requirepass 123456                                      #修改后

注1:配置完成密码后,以后登录就密码按下面的命令进行登录
./redis-cli -h 127.0.0.1 -p 6379 -a 123456

开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
跟新防火墙规则
firewall-cmd --reload
防火墙列表
firewall-cmd --zone=public --list-ports
防火墙状态
systemctl status firewalld
启动防火墙
systemctl start firewalld

2.4重启redis或ubuntu
service redis-server restart
#reboot

可视化管理工具redis-desktop-manager安装与配置
 双击redis-desktop-manager-0.8.8.384.exe即可无脑式的下一步就可以了

出现这个可能是防火墙没有关掉

关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

出现这个就可以了

redis基本的操作

通过命令操作redis(命令不区分大小写)
redis默认的数据库有16,mongodb是3个:admin/local/test
redis-cli #打开redis终端
select index #选择指定的数据库,默认的数据库有16,mongodb是3个:admin/local/test #字符串
set name #保存
get name #获得
type name #查看类型
keys *
del name #哈希(Hash),Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
hset key attr1 value1 attr2 value2
hget key attr1
hgetall key #列表(List)
lpush key value1 value2 value3
llen key
lindex key index
lrange key start stop #stop可以为-,到末尾的意思 #Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
sadd key value #sadd idcard
sadd key value1 value2 vlaue3
scard key
sscan key cursor [MATCH pattern] [COUNT count] exists key #检查key是否存在

今天就到这里了

Redis安装和基本操作的更多相关文章

  1. node.js中对 redis 的安装和基本操作

    一.win下安装redis https://github.com/MicrosoftArchive/redis/releases 下载Redis-x64-3.2.100.zip,然后解压,放到自定义目 ...

  2. Redis-cluster集群【第一篇】:redis安装及redis数据类型

    Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...

  3. redis安装与使用

    linux: 1.下载redis 下载redis: 可以在redis的官网下载 : http://redis.io/ 也可以去谷歌的code下载: http://code.google.com/p/r ...

  4. Redis介绍——Linux环境Redis安装全过程和遇到的问题及解决方案

    一:redis的入门介绍: 首先贴出官网; 英文:https://redis.io/ 中文:http://www.redis.cn/ 1.是什么 --REmote DIctionary Server( ...

  5. 缓存系列之三:redis安装及基本数据类型命令使用

    一:Redis是一个开源的key-value存储系统.与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串.哈希表.链表.集合.有序集合以及基于这些数据类型的相关操 ...

  6. elk系列1之入门安装与基本操作【转】

    preface 我们每天都要查看服务器的日志,一方面是为了开发的同事翻找日志,另一方面是巡检服务器查看日志,而随着服务器数量以及越来越多的业务上线,日志越来越多,人肉运维相当痛苦了,此时,参考现在非常 ...

  7. Redis安装及前后置启动

    Redis简单介绍及在Linux上安装(这里测试用是版本:redis-3.0.0.tar.gz) 一:什么是Redis? redis就是C语言编写的一个高性能的键值存储(key-value)的非关系型 ...

  8. Redis安装测试(待完善)

    1 Redis安装 在网址http://redis.io/下载redis-3.2.3.tar.gz,解压. 进入解压目录 编译和安装,具体配置项可参考自带的README.md文件 make test ...

  9. Redis安装及实现session共享

    一.Redis介绍 1.redis是key-value的存储系统,属于非关系型数据库 2.特点:支持数据持久化,可以让数据在内存中保存到磁盘里(memcached:数据存在内存里,如果服务重启,数据会 ...

随机推荐

  1. 对token机制的学习和分析

    token,中文意思为令牌,是用户登录后会返回的一个字符串,里面包括用户信息.登录时间等,但是是加密过的密文,其加解密方式由后端决定. 在登录之后的接口请求中,前端需在请求中统一加上token,从而识 ...

  2. Flask 教程 第十章:邮件支持

    本文翻译自The Flask Mega-Tutorial Part X: Email Support 这是Flask Mega-Tutorial系列的第十部分,在其中我将告诉你,应用如何向你的用户发送 ...

  3. Java 多线程应知应会

    请简单说说 synchronized 关键字的底层原理 java 说到多线程绝对绕不开 synchronized,很多 java 工程师对 synchronized 是又爱又恨.为什么呢?主要原因包括 ...

  4. node error SOCKET error:10106

    上周我的node.js command prompt出错了,什么也干不了 SOCKET error:10106 纠结两天,终于搞定了,其实比较简单,就是不会弄起来好麻烦 参考: 作者:忆常  url: ...

  5. MinU: v2 Vulnhub Walkthrough

    主机层面扫描: 22 和 3306 端口 3306 端口默认是MySQL端口,但是这里尝试爆破报错,最后通http访问发现非MySQL协议,而是一个http的服务 http的协议我们进行目录枚举下 枚 ...

  6. JS Timing

    JS Timing 通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行.我们称之为计时事件. JavaScript 计时事件 通过使用 Ja ...

  7. IDEA新建Spring配置文件的方法

    IDEA创建Spring Config 选择项目文件右键 输入文件名称即可 applicationContext.xml

  8. MQ脚本回放报错2059

    1.响应2059错误 1.1.   涉及协议 MQ,调试回放阶段 1.2.   错误信息 完成码2原因为2059:未能为 '10.200.100.75:QMEMBFE' 创建 MQQueueManag ...

  9. JS高程中的垃圾回收机制与常见内存泄露的解决方法

    起因是因为想了解闭包的内存泄露机制,然后想起<js高级程序设计>中有关于垃圾回收机制的解析,之前没有很懂,过一年回头再看就懂了,写篇博客与大家分享一下. #内存的生命周期: 分配你所需要的 ...

  10. 多对多表结构的设计ManyToManyField(不会生成某一列、生成一张表):

    示例: 脚本: from django.db import models# Create your models here. class Publisher(models.Model): name = ...