zoukankan      html  css  js  c++  java
  • redis 基础

    redis

        1、redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构、

        2 、redis  属于 非关系型数据库  

    redis和memcached的比较

    memcached

    redis

    类型

    纯内存数据库

    内存磁盘同步数据库

    数据类型

    在定义value时就要固定数据类型

    不需要

    虚拟内存

    不支持

    支持

    过期策略

    支持

    支持

    存储数据安全

    不支持

    可以将数据同步到dump.db中

    灾难恢复

    不支持

    可以将磁盘中的数据恢复到内存中

    分布式

    支持

    主从同步

    订阅与发布

    不支持

    支持

    持久化

             redis提供了两种数据备份方式,一种是RDB,另外一种是AOF。

       RDB:RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘。 也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。可以通过配置设置自动做快照持久化的方式。

       AOF:AOF持久化策略是将发送到Redis服务端的每一条命令都记录下来,并且保存到硬盘中的AOF文件中,类似打日志文件,来一条命令就记录一条。

    操作系统:CentOS7.5

    redis 版本:redis-5.0

    1>下载

    wget http://download.redis.io/releases/redis-5.0.0.tar.gz

     

    2>解压到指定目录

     

    3>进入到解压后的目录进行编译   ( 需要用到 gcc  gcc-++  yum 可以安装) 

     

    4>安装

    5>进入安装好的redis目录

     

    6>添加到环境变量

     

    这我已经添加一次了

    6>启动

    注:一定要加& 让它在后端运行,不然会在前端一直hang住

    #查看端口

    redis 的端口为  6379

     

    #补充 关闭redis

     

    7>连接上 redis-server

    redis-cli -p 6379   -h127.0.0.1

     

    #

     

    8>添加 set key  value    (字符串)

    将value 值 关联到 key  ( 如果 value 已存在,将覆盖旧值,默认过期时间为永久)

     

    9>取 key 下的 value    (  get  key)

     

    10>删除   key( del key)

     

    11>设置过期时间

     

    12>查看过期时间

     

    13>查看所有的key

     

    14>切换数据库

    redis 默认有16 个数据库。

     select  index      ( 0 -- 15)

    15>列表

    &1在列表左边添加值   (会显示上面)

    lpush  key  value    因为是列表, value 可以是多个,

     

    #rpush key value

    在列表右边添加值 (会显示在下面)

     

    &2查看

    lrange  key  start stop 

    lrange   students   0  -1    (  -1  最后 )  ( 0 开始)       查看所有 

     

    &3>查看列表中有几个元素 (key中)

    llen  key

    llen  students

     

    &4>取列表中的值

    lindex key  index

    lindex  students  2

     

    &5>删除列表中的值

    lrem   key  count  value

    lrem   students  2  lijie

     

    列表只有一个lijie ,所以只删掉了一个

    16>集合

    &1>添加元素

    sadd   key  member     (自动去重)

    sadd    name  lijie lige lijie  

     

    &2> 查看元素

    smembers  key

    smembers  name

     

    &3>删除元素

    srem  key  member

    serm  name  lijie

     

    &4>查看集合中多少元素

    scard  key

     

    &5>查看两个集合的交集

    sinter  key1  key2

    sinter  name2 name3  

     

    &6> 查看两个集合并集

    sunion  key1 key2

    sunion  name2 name3

     

    &7>查看两个集合的差集

    sdiff  key1 key2

    sdiff  name2 name3

     

    17>哈希操作 (字典套字典)

    &1>添加一个新值

    hest  key field value   ( field  相当于 key 里面的key)

    hest  lijie   age  23

    hest   lijie   high  170

    hest  lijie mariadb - 索引.note   gender  man

     

    &2>获取哈希中 filed 中的值

    hget  lijie age

    hget lijie  high

     

     lijie&3>删除  哈希中 key 里的 field

     hdel   age

    注:可以删除多个  filed

    &4>获取某个哈希中所有 fleld 和 value

    hgetall   key

     

    &5>获得某个哈希中的所有field

    hkeys   key

     

    &6>判断哈希中是否存在某个field

    hexists  key   field

    hexists  lijie  age

     

    &7>获取哈希中总共的键值对

    hlen  key

    hlen  lijie

  • 相关阅读:
    HTML5中类jQuery选择器querySelector的使用
    java发布环境时,Xshell常用的命令(基础)
    java后端:实现导出excel,按其中一个列的数据生成二维码图片,显示在列表中
    SQL 函数:case when 的用法
    微服务-学习笔记
    初学笔记:存储过程的简单概念
    初学笔记:GROUP_CONCAT 的作用,和使用条件
    jsp练习
    数据库2
    数据库
  • 原文地址:https://www.cnblogs.com/myxxjie/p/10960666.html
Copyright © 2011-2022 走看看