Redis简介

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

Redis与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启后可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型(hash)的数据,同时还提供包括string(字符串)、list(链表)、set(集合)和sorted set(有序集合)。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Redis是一个高性能的key-value数据库。

  • Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。
  • 它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。

Redis优势:

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的Strings,Lists,Hashes,Sets及Ordered Sets数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性.

Redis的安装:

  • 官方网站:https://redis.io
  • 官方文档:https://redis.io/documentation
  • 中文官网:http://www.redis.cn
  • GitHub:https://github.com/antirez/redis
  • 可视化管理工具:https://redisdesktop.com/download
  • windows下安装地址:https://github.com/MSOpenTech/redis/releases
  • 可下载:Redis-x64-3.2.100.msi 直接next按钮安装即可
  • 配置文件:redis.windows-service.conf

Liunx下的安装: (如ubuntu)

安装命令: sudo apt-get -y install redis-server进入命令行模式:
$ redis-cli
127.0.0.1:6379> set 'name' 'wangwu'
ok
127.0.0.1:6379> get 'name'
"wangwu"启停Redis服务:
sudo /etc/init.d/redis-server start
sudo /etc/init.d/redis-server stop
sudo /etc/init.d/redis-server restart

Redis高级特性

1. 安全性:为Redis添加密码
-------------------------------1.进入配置文件:vi /usr/local/redis/etc/redis.conf设置:requirepass redis的密码2. 重启服务:# ./redis-cli shutdown 执行关闭# ./redis-server /usr/local/redis/etc/redis.conf  启动3. 登录(两种)# ./redis-cli 客户端命令链接服务器>auth 密码值  //授权后方可使用# ./redis-cli -a  密码 //连接时指定密码来进行授权2. 主从复制
------------------------------------------操作步骤:1.先将linux虚拟机关闭,之后克隆一个。2.启动两个虚拟机:master(主)和slave(从)3. 在slave(从)中配置一下ip地址# ifconfig eth0 192.168.128.229# ping 一下看看通不通。4. 配置从机进入:配置文件slaveof  192.168.128.228 6379   //配置连接主机的Redis的ip和端口masterauth 密码  //配置连接密码最后启动slave(从)机的Redis服务。其他:可以通过info命令中的role属性查看自己角色是master、slave3. 事务处理
--------------------------------------------
>multi   //开启一个事务
>set age 10 //暂存指令队列
>set age 20
>exec    //开始执行(提交事务)
或>discard //清空指令队列(事务回滚)4. 乐观锁
-----------------------------------在事务前对被操作的属性做一个:
> watch age
>multi   //开启一个事务(在此期间有其他修改,则此处会失败)
>set age 10 //暂存指令队列
>set age 20
>exec    //开始执行(提交事务)
或>discard //清空指令队列(事务回滚)5. 持久化机制(通过修改配置文件做设置)
-----------------------------------1. snapshotting(快照)默认方式配置    savesave 900 1 #900秒内如果超过1个key被修改,则发起快照保存save 300 10 #300秒内容如超过10个key被修改,则发起快照保存save 60 100002. Append-only file(aof方式)配置 appendonly on 改为yes会在bin目录下产生一个.aof的文件关于aof的配置  appendonly yes //启用aof 持久化方式# appendfsync always //收到写命令就立即写入磁盘,最慢,但是保证完全的持久化appendfsync everysec //每秒钟写入磁盘一次,在性能和持久化方面做了很好的折中# appendfsync no //完全依赖os,性能最好,持久化没保证  6.  发布及订阅消息
----------------------需要开启多个会话端口会话1:>subscribe tv1      //监听tv1频道会话2:>subscribe tv1 tv2  //监听tv1和tv2频道会话3: >publish tv1 消息   //向tv1频道发送一个消息7. 使用虚拟内存
-------------------------------在redis配置文件中设置vm-enabled yes          #开启vm功能vm-swap-file  /tmp/redis.swap   #交换出来的value保存的文件路径vm-max-memory 1000000   #redis使用的最大内存上限vm-page-size 32         #每个页面的大小32字节vm-pages 134217728      #最多使用多少页面vm-max-threads 4        #用于执行value对象换入患处的工作线程数量

Python使用Redis

import redis# host是redis主机,需要redis服务端和客户端都启动 redis默认端口是6379
r = redis.Redis(host='localhost', port=6379, decode_responses=True)# 字串操作
r.set('name', 'junxi')  # key是"foo" value是"bar" 将键值对存入redis缓存
print(r['name'])
print(r.get('name'))  # 取出键name对应的值
print(type(r.get('name')))# 如果键fruit不存在,那么输出是True;如果键fruit已经存在,输出是None
print(r.set('fruit', 'watermelon', nx=True))    # True--不存在print(r.setnx('fruit1', 'banana'))  # fruit1不存在,输出为True#设置过期时间
r.setex("fruit2", "orange", 5)
time.sleep(5)
print(r.get('fruit2'))  # 5秒后,取值就从orange变成Noneprint(r.mget("fruit", "fruit1", "fruit2", "k1", "k2"))  # 将目前redis缓存中的键对应的值批量取出来

读者们如果觉得还可以就帮忙点个赞 蟹蟹

另外读者福利,可直接点击链接领取相关学习福利包:

石墨文档​shimo.im

是安全网站放心,继续访问就可以领取了哦

redis配置密码_Redis数据库概述相关推荐

  1. centos72安装mysql配置密码_MySQL数据库之170419、Centos7下完美安装并配置mysql5.6

    本文主要向大家介绍了MySQL数据库之170419.Centos7下完美安装并配置mysql5.6 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. linxu环境: centos ...

  2. windows环境给redis配置密码

    redis安装后目录如下: 最简单的启动方式是直接双击redis-server.exe 如果要设置密码,首先打开配置文件,要注意的是 这两个都是配置文件,记住你改的是哪一个,不放心的可以两个都改. 然 ...

  3. redis配置文件密码加密

    如何给redis设置密码 redis配置密码1.通过配置文件进行配置yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到[plain] view plain co ...

  4. 设置redis访问密码

    在服务器上,这里以linux服务器为例,为redis配置密码. 1.第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效,) (1)首先进入redi ...

  5. NoSQL之Redis配置与数据库常用命令

    目录 一.关系型数据库与非关系型数据库概述 1.1 关系型数据库 1.2 非关系型数据库 二.关系型数据库与非关系型数据库的区别 2.1 数据的存储方式不一样 2.2 扩展的方式不同 2.3 对事务性 ...

  6. MySql基础篇---001 数据库概述与MySQL安装篇:概述,表和类对应关系,表关系、数据库卸载,下载,安装,配置,启动,登录,演示,图形化工具,目录结构,常见问题

    第01章_数据库概述 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 为什么要使用数据库 持久化(persistence):把数据保存到可掉电式存储 ...

  7. 数据库缓存服务—Redis配置与优化

    文章目录 一.缓存概念 1.1 系统缓存 1.2 缓存保存位置及分层结构 1.2.1 DNS缓存 1.2.2 应用层缓存 1.2.3 数据层缓存 1.2.4 硬件缓存 二.关系型数据库与非关系型数据库 ...

  8. 数据库缓存服务——NoSQL之Redis配置与优化

    一.缓存概念 缓存是为了调节速度不一致的两个或多个不同的物质的速度,在中间对速度较慢的一方起到加速作用,比如CPU的一级.二级缓存是保存了CPU最近经常访问的数据,内存是保存CPU经常访问硬盘的数据, ...

  9. 5.1.8 NoSQL数据库-Redis(键值key-value)-Redis配置详解

    目录 1.写在前面 2.具体信息 2.1 单位 2.2 包含 2.3 网络 2.4 通用 GENERAL 2.5 快照 2.6 REPLICATION 主从复制 2.7 SECURITY 安全 2.8 ...

最新文章

  1. /D _WINDOWS, /D _CONSOLE
  2. mysql截取最后一个斜杠_在MySQL中最后一个斜杠之后选择文本?
  3. quad8是matlab中调用那个,Matlab 数值积分
  4. 【编程2】单链表+单链表反转(LeetCode. 206)
  5. 成绩排序 九度教程c语言,九度OJ 1089 数字反转
  6. Visual Studio Code C++配置文件
  7. 手机变身车机导航遥控器 高德地图上线手车互联新功能
  8. 多线程 CreateThread与_beginthreadex本质区别
  9. Apache Struts 修复 OGNL 技术中可能存在的 RCE 缺陷
  10. MySQL的安装、启动、停止、卸载
  11. 《连线》评出2008年十大最值得关注创业公司
  12. C语言家族树管理系统
  13. 怎么做才可以把电脑上的照片给做成视频?-markdown编辑器
  14. 神经网络—卷积神经网络CNN
  15. 阿尔法小蛋机器人热点密码_科大讯飞阿尔法小蛋智能机器人使用说明
  16. HTML5+css+jquery网页设计+加静态网页部署到服务器上
  17. 基于单片机模拟打地鼠游戏设计-protues仿真毕业
  18. 【20保研】武汉大学计算机学院2019年优秀大学生暑期夏令营实施细则
  19. 2022绿色小工具-工程电脑一键优化工具-By.Win10_x64
  20. DDR3 mig 关于引脚绑定的说明

热门文章

  1. Redis在Linux上编译
  2. 安装 MySQL-python 出错 ImportError: No module named 'ConfigParser'
  3. (四)创建ROS程序包(就是软件包)
  4. JavaScript的编码规范
  5. ant打包web项目
  6. 学英语必备的18条法则,建议收藏!
  7. 3d饼图 vue_Vue+Echarts构建可视化大数据平台实战项目分享(附源码)(上)
  8. html太极图代码静态_如何做URL静态化?和页面的静态化
  9. Java使用jfreechart画饼图_jfreechart应用_例题_生成饼状图(展示,生成文件,WEB项目)_可以直接运行...
  10. redis是单线程的吗?为什么执行速度这么快?