一、简介

定义

  Remote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。

  Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

  redis通常被称为数据结构服务器。

  redis是基于key-value的no sql数据库,因此,先来了解一下关于key相关的知识点

  1、任何二进制的序列都可以作为key使用
  2、Redis有统一的规则来设计key
  3、对key-value允许的最大长度是512MB

   五种数据类型

  字符串(string), 哈希(map), 列表(list), 集合(set) 和 有序集合(zset[sorted set])

  

应用场景

  1、最常用的就是会话缓存
  2、消息队列,比如支付
  3、活动排行榜或计数
  4、发布、订阅消息(消息通知)
  5、商品列表、评论列表等

Redis 英文官网:https://redis.io/

Redis 中文官网:https://www.redis.net.cn/

Redis GitHub 开源地址:https://github.com/antirez/redis

但是官方没有windows版本

WINDOWS下载安装:https://github.com/microsoftarchive/redis/releases

二、配置文件

创建redis.conf文件:
这是一个配置文件,指定了redis的监听端口,timeout等。如下面有:port 6379。

配置:

遇到问题:

[]  Jan ::28.584 #
The Windows version of Redis allocates a memory mapped heap for sharing with
the forked process used for persistence operations. In order to share this
memory, Windows allocates from the system paging file a portion equal to the
size of the Redis heap. At this time there is insufficient contiguous free
space available in the system paging file for this operation (Windows error
0x5AF). To work around this you may either increase the size of the system
paging file, or decrease the size of the Redis heap with the --maxheap flag.
Sometimes a reboot will defragment the system paging file sufficiently for
this operation to complete successfully. Please see the documentation included with the binary distributions for more
details on the --maxheap flag. Redis can not continue. Exiting.

处理方法:

windows硬盘需要配置虚拟内存,如果还有问题,清理磁盘碎片
redis.windows.conf
maxheap 1024000000
daemonize no

  

更改redis的配置需要修改redis.conf文件,以下是它一些主要的配置注释:

#是否作为守护进程运行
daemonize no
#Redis 默认监听端口
port 6379
#客户端闲置多少秒后,断开连接
timeout 300
#日志显示级别
loglevel verbose
#指定日志输出的文件名,也可指定到标准输出端口
logfile redis.log
#设置数据库的数量,默认最大是16,默认连接的数据库是0,可以通过select N 来连接不同的数据库
databases 32
#Dump持久化策略
#当有一条Keys 数据被改变是,900 秒刷新到disk 一次
#save 900 1
#当有10 条Keys 数据被改变时,300 秒刷新到disk 一次
save 300 100
#当有1w 条keys 数据被改变时,60 秒刷新到disk 一次
save 6000 10000
#当dump .rdb 数据库的时候是否压缩数据对象
rdbcompression yes
#dump 持久化数据保存的文件名
dbfilename dump.rdb
########### Replication #####################
#Redis的主从配置,配置slaveof则实例作为从服务器
#slaveof 192.168.0.105 6379
#主服务器连接密码
# masterauth <master-password>
############## 安全性 ###########
#设置连接密码
#requirepass <password>
############### LIMITS ##############
#最大客户端连接数
# maxclients 128
#最大内存使用率
# maxmemory <bytes>
########## APPEND ONLY MODE #########
#是否开启日志功能
appendonly no
# AOF持久化策略
#appendfsync always
#appendfsync everysec
#appendfsync no
################ VIRTUAL MEMORY ###########
#是否开启VM 功能
#vm-enabled no
# vm-enabled yes
#vm-swap-file logs/redis.swap
#vm-max-memory 0
#vm-page-size 32
#vm-pages 134217728
#vm-max-threads 4

主从复制

在从服务器配置文件中配置slaveof ,填写服务器IP及端口即可,如果主服务器设置了连接密码,在masterauth后指定密码就行了。

持久化

  • redis提供了两种持久化文案,Dump持久化和AOF日志文件持久化。
  • Dump持久化是把内存中的数据完整写入到数据文件,由配置策略触发写入,如果在数据更改后又未达到触发条件而发生故障会造成部分数据丢失。
  • AOF持久化是日志存储的,是增量的形式,记录每一个数据操作动作,数据恢复时就根据这些日志来生成。

三、.命令行操作

使用CMD命令提示符,打开redis-cli连接redis服务器 ,也可以使用telnet客户端

# redis-cli -h 服务器 –p 端口 –a 密码

redis-cli.exe -h 127.0.0.1 -p 6379

连接成功后,就可对redis数据增删改查了,如字符串操作:

以下是一些服务器管理常用命令:

info   #查看服务器信息
select <dbsize> #选择数据库索引 select 1
flushall #清空全部数据
flushdb #清空当前索引的数据库
slaveof <服务器> <端口> #设置为从服务器
slaveof no one #设置为主服务器
shutdown #关闭服务

附加几个 bat 批处理脚本,请根据需要灵活配置

注册/卸载系统服务

redis-server.exe --service-install redis.windows.conf --loglevel verbose  

redis-server --service-uninstall

  卸载服务:redis-server --service-uninstall

  开启服务:redis-server --service-start

  停止服务:redis-server --service-stop

启动命令

redis-server.exe redis.windows.conf

可以把 redis 的路径加到系统的环境变量里。命令后面的 redis.conf 可以省略,此时会启用默认参数。(Redis 默认使用 6379 端口)

安装RADIS

开启redis:

1.打开cmd,然后进入redis解压目录。

2.执行命令redis-server.exe redis.windows.conf 如果出现如下错误

则执行如下命令:

1)redis-cli.exe

2)shutdown

2)exit

3.如果出现错误,执行如上命令后,重新执行redis-server.exe redis.windows.conf命令,如果正常开启,会出现如下图示:

4.如果没出现错误,在解压后直接执行redis-server.exe,可看到上面服务端执行成功的截图,然后再执行redis-cli.exe,就可以进入下面的客户端界面,添加数据如下所示(常用命令):

推荐:http://www.redis.net.cn/

参考文章

https://www.cnblogs.com/youkanyouxiao/p/9072248.html

https://www.cnblogs.com/sxdcgaq8080/p/7204878.html

https://blog.csdn.net/u010137839/article/details/80210328

https://www.cnblogs.com/cing/p/7724653.html win7下安装redis

Redis学习之一 安装的更多相关文章

  1. Redis学习01_redis安装部署(centos)

    原文: http://www.cnblogs.com/herblog/p/9305668.html Redis学习(一):CentOS下redis安装和部署 1.基础知识  redis是用C语言开发的 ...

  2. Redis学习笔记-安装篇(Centos7)

    1.安装 这里使用源代码安装的方式,如果你希望使用yum或者rpm包安装的方式,可以百度一下,安装方法可谓多如牛毛. # 下载安装包 # wget http://download.redis.io/r ...

  3. Redis 学习(一) —— 安装、通用key操作命令

    一.Redis介绍 1.介绍 通常,在系统中,我们会把数据交由数据库来存储,但传统的数据库增删查改的性能较差,且比较复杂.根据 80/20 法则,百分之八十的业务访问集中在百分之二十的数据上.是否可以 ...

  4. Redis学习笔记(2)——Redis的下载安装部署

    一.下载Redis Redis的官网下载页上有各种各样的版本,如图 但是官网下载的Redis项目不正式支持Windows.如果需要再windows系统上部署,要去GitHub上下载.我下载的是Redi ...

  5. Redis学习笔记(1)- CentOS 6.4 安装Redis

    Redis学习笔记(1)- CentOS 6.4 安装Redis 2013.10.13     学习环境 vm 10.1 + 默认.新装的干净 CentOS 6.4  64BIT系统     准备 1 ...

  6. redis 学习(1)-- redis 安装与启动

    redis 学习(1)-- redis 安装与启动 redis 特性 关于 redis 的介绍网上已经有很多信息了,这里我就不在详细说明了.介绍一下几个鲜明特性: 1.速度快 官方称可以达到10W的q ...

  7. redis学习教程一《Redis的安装和配置》

    redis学习教程一<Redis的安装和配置> Redis的优点 以下是Redis的一些优点. 异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执 ...

  8. Redis学习笔记一(Redis的详细安装及Linux环境变量配置和启动)

     Redis Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 我使用的是下面这个版本: 若没有资源的话,我在 ...

  9. Redis学习(一):CentOS下redis安装和部署

    1.基础知识  redis是用C语言开发的一个开源的高性能键值对(key-value)数据库.它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串.列表 ...

随机推荐

  1. HDFS 概述

    定义 HDFS(Hadoop Distributed File System)是分布式文件管理系统中的一种,用来管理多台机器上的文件,通过目录树来定位文件. 由很多服务器联合起来实现其功能,集群中的服 ...

  2. Maccms8.x 命令执行漏洞分析

    下载链接https://share.weiyun.com/23802397ed25681ad45c112bf34cc6db 首先打开Index.php $m = be('get','m'); m参数获 ...

  3. bzoj千题计划315:bzoj3172: [Tjoi2013]单词(AC自动机)

    https://www.lydsy.com/JudgeOnline/problem.php?id=3172 构建AC自动机 在fail树上,点i的子树大小 表示trie树上根节点到i构成的单词 是 多 ...

  4. 获取ArcMap窗口句柄,通过WinAPI获取工作空间中点击要素的系统桌面坐标实现窗体跟随

    这里用了个“桌面坐标”,是希望区分一下ArcGis的“屏幕坐标”(与之对应的还有一个“地理坐标”). 什么是“屏幕坐标”呢?使用ITool接口的OnMouseDown方法获取的“x,y”值即是,其原点 ...

  5. [Java] [查找文件] [递归]]

    // 工具方法 private static FilenameFilter getFilter(final String mode) { return new FilenameFilter() { P ...

  6. telnet客户端程序

    #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types. ...

  7. MySQL Out-of-Band 攻击

    概述 当涉及到MSSQL与Oracle时,Out-of-Band 注入是非常好的方式.但我注意到MySQL注入的情况并非如此,于是我准备以自己在SQL注入方面的经验做相关的研究.我们可以利用诸如loa ...

  8. Andrew NG 机器学习编程作业4 Octave

    问题描述:利用BP神经网络对识别阿拉伯数字(0-9) 训练数据集(training set)如下:一共有5000个训练实例(training instance),每个训练实例是一个400维特征的列向量 ...

  9. sql server 横向转丛向及FOR XML PATH使用

    1.开始数据结构如下: 2.转为如下图: 使用如下SQL语句: ---横向转丛向 select name '姓名', max(case when course='语文' then score end) ...

  10. oracle 查看后台正在执行的脚本

    select username,lockwait,status,machine,program from v$session where sid in (select session_id from ...