zoukankan      html  css  js  c++  java
  • Redis 的介绍

    Redis是一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server (远程数据服务),使用C语言编写,Redis是一个key-value存储系统(键值存储系统),支持丰富的数据类型,如:String、list、set、zset、hash。Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。使用C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。

    Redis以内存作为数据存储介质,读写数据的效率极高。

    Redis跟memcache不同的是,储存在Redis中的数据是持久化的,断电或重启,数据也不会丢失。

    Redis的存储分为内存存储、磁盘存储和log文件。

    Redis可以从磁盘重新将数据加载到内存中,也可以通过配置文件对其进行配置,因此,redis才能实现持久化。

    Redis支持主从模式,可以配置集群,更利于支撑大型的项目。

    一.Redis临时服务

    1.打开cmd,进入到刚才解压到的目录,启动临时服务:redis-server.exe redis.windows.conf (备注:通过这个命令,会创建Redis临时服务,不会在window Service列表出现Redis服务名称和状态,此窗口关闭,服务会自动关闭。)

     2.打开另一个cmd窗口,客户端调用:redis-cli.exe -h 127.0.0.1 -p 6379

    二.Redis自定义windows服务安装

    1.进入Redis安装包目录,安装服务:redis-server.exe --service-install redis.windows.conf --service-name redisserver1 --loglevel verbose

     win+r -> services.msc,可以看到服务安装成功

    安装服务:redis-server.exe --service-install redis.windows.conf --service-name redisserver1 --loglevel verbose

    启动服务:redis-server.exe --service-start --service-name redisserver1

    停止服务:redis-server.exe --service-stop --service-name redisserver1

    卸载服务:redis-server.exe --service-uninstall--service-name redisserver1

    三. 主从服务器

    将d盘下新建一个文件夹叫redis2,把redis文件夹的东西拷贝到redis2文件夹下,将redis-windows.conf配置文件中的ip 和端口号改一下,然后按照上面的步骤按照一个服务即可

    使用redis桌面管理器,看到两个redis库

    设置密码把 #requirepass foobared 的#号去掉改为自己的密码即可

    设置好保存后,若要使设置起作用,需要重启redis服务

    端口号和ip同理

     重启后需要输入密码

    Redis应用场景

    众多语言都支持Redis,因为Redis交换数据快,在服务器中常用来存储一些需要频繁调取的数据,节省内存开销,也极大的提升了速度。

    将一些热点数据存储到Redis中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。

    1、消息队列(支付)

    2、活动排行榜或计数

    3、会话缓存(最常用)

    4、发布,订阅消息(消息通知)

    5、商品列表,评论列表

    Redis支持数据类型

    Redis一共支持五种数据类型:String(字符串)、hash(哈希)、list(列表)、set(集合)和zset(sorted set有序集合)

    List(列表):是redis的简单的字符串列表,按插入顺序排序

    Set(集合):是String字符串类型的无序集合,也不可重复

    String(字符串):Redis最基本的数据类型,一个键对应一个值,一个键值最大存储512MB

    Hash(哈希):hash是一个键值对的集合,是一个String类型的field和value的映射表,适合用于存储对象

    ZSet(sorted set 有序集合)是String类型的有序集合,也不可重复。有序集合中的每个元素都需要指定一个分数,根据分数对元素进行升序排序。

    redis的服务相关命令

    slect#选择数据库(数据库编号0-15)

    退出 # 退出连接

    信息 # 获得服务的信息与统计

    monitor # 实时监控

    flushdb # 删除当前选择的数据库中的key

    flushall # 删除所有数据库中的键

    config get # 获得服务配置

    Redis的持久化

    Redis持久有两种方式:快照(RDB),仅附加文件(AOF)

    一、快照(RDB):

    1、将存储在内存的数据以快照的方式写入二进制文件中,默认dump.rdb中

    2、保存900 1 # 900秒内如果超过1个key被修改,则启动快照保存

    3、保存300 10 # 300秒内如果超过10个key被修改,则启动快照保存

    4、保存60 1000 # 60秒内如果超过10000个重点被修改,则启动快照保存

    仅附加文件(AOF):1、使用AOF持久时,服务会将每个收到的写命令通过写函数追加到文件中(appendonly.aof)

    二、AOF持久化存储方式参数说明

    appendfsync always #收到写命令后就立即写入磁盘,效率最差,效果最好

    appendfsync everysec #每秒写入磁盘一次 效率与效果居中

    appendonly yes #开启AOF持久化存储方式

    appendfsync no #完全依赖操作系统,效率最佳,效果没法保证

    Redis 命令参考

    Key(键)

    DEL

    DUMP

    EXISTS

    EXPIRE

    EXPIREAT

    KEYS

    MIGRATE

    MOVE

    OBJECT

    PERSIST

    PEXPIRE

    PEXPIREAT

    PTTL

    RANDOMKEY

    RENAME

    RENAMENX

    RESTORE

    SORT

    TTL

    TYPE

    SCAN

    String(字符串)

    APPEND

    BITCOUNT

    BITOP

    DECR

    DECRBY

    GET

    GETBIT

    GETRANGE

    GETSET

    INCR

    INCRBY

    INCRBYFLOAT

    MGET

    MSET

    MSETNX

    PSETEX

    SET

    SETBIT

    SETEX

    SETNX

    SETRANGE

    STRLEN

    Hash(哈希表)

    HDEL

    HEXISTS

    HGET

    HGETALL

    HINCRBY

    HINCRBYFLOAT

    HKEYS

    HLEN

    HMGET

    HMSET

    HSET

    HSETNX

    HVALS

    HSCAN

    List(列表)

    BLPOP

    BRPOP

    BRPOPLPUSH

    LINDEX

    LINSERT

    LLEN

    LPOP

    LPUSH

    LPUSHX

    LRANGE

    LREM

    LSET

    LTRIM

    RPOP

    RPOPLPUSH

    RPUSH

    RPUSHX

    Set(集合)

    SADD

    SCARD

    SDIFF

    SDIFFSTORE

    SINTER

    SINTERSTORE

    SISMEMBER

    SMEMBERS

    SMOVE

    SPOP

    SRANDMEMBER

    SREM

    SUNION

    SUNIONSTORE

    SSCAN

    SortedSet(有序集合)

    ZADD

    ZCARD

    ZCOUNT

    ZINCRBY

    ZRANGE

    ZRANGEBYSCORE

    ZRANK

    ZREM

    ZREMRANGEBYRANK

    ZREMRANGEBYSCORE

    ZREVRANGE

    ZREVRANGEBYSCORE

    ZREVRANK

    ZSCORE

    ZUNIONSTORE

    ZINTERSTORE

    ZSCAN

    Pub/Sub(发布/订阅)

    PSUBSCRIBE

    PUBLISH

    PUBSUB

    PUNSUBSCRIBE

    SUBSCRIBE

    UNSUBSCRIBE

    Transaction(事务)

    DISCARD

    EXEC

    MULTI

    UNWATCH

    WATCH

    Script(脚本)

    EVAL

    EVALSHA

    SCRIPT EXISTS

    SCRIPT FLUSH

    SCRIPT KILL

    SCRIPT LOAD

    Connection(连接)

    AUTH

    ECHO

    PING

    QUIT

    SELECT

    Server(服务器)

    BGREWRITEAOF

    BGSAVE

    CLIENT GETNAME

    CLIENT KILL

    CLIENT LIST

    CLIENT SETNAME

    CONFIG GET

    CONFIG RESETSTAT

    CONFIG REWRITE

    CONFIG SET

    DBSIZE

    DEBUG OBJECT

    DEBUG SEGFAULT

    FLUSHALL

    FLUSHDB

    INFO

    LASTSAVE

    MONITOR

    PSYNC

    SAVE

    SHUTDOWN

    SLAVEOF

    SLOWLOG

    SYNC

    TIME

    Redis相关测试工具

    redis-benchmark --help

    redis-benchmark -n 10000 -q

  • 相关阅读:
    ubuntu开机挂载磁盘盘出现:Metadata kept in Windows cache, unable to mount
    ubuntuaptgetoldversion
    evince 41.2ubuntu 16.04snap
    ubuntu坚果云安装deb后启动不了
    电影票分析
    jieba分词讲解2
    期末总结建议
    软件架构师工作看法
    jieba分词讲解1
    1
  • 原文地址:https://www.cnblogs.com/sttchengfei/p/12966749.html
Copyright © 2011-2022 走看看