redis入门

 

什么是NoSql

  1. not only sql

 

为什么需要NoSql

  1. High performance - 高并发读写
  2. Huge Storage - 海量数据的高效率存储和访问
  3. High Scalability&&High Availability - 高扩展性和高可用性

 

NoSQL数据库的四大分类

  1. redis:key/value键值对存储数据库
  2. mongodb:文档型数据库
  3. hbase:列式数据库
  4. Graph:图数据库

 

NoSQL的特点

  1. 易扩展
  2. 灵活的数据模型
  3. 大数据量,高性能
  4. 高可用

 

redis概述

 

 

高性能键值对数据库,支持的键值数据类型:

 

  1. 字符串类型(String)
  2. 哈希(hash)
  3. 字符串列表(List)
  4. 字符串集合(set)
  5. 有序字符串集合(sorted set)

 

Key定义的注意点

  1. 不要过长
  2. 不要过短
  3. 统一命名规范

 

存储String的常用命令

赋值

    set key value

取值

    get key

    getset key newvalue

删除

    del key

数值增减

   /增

      incr key

   /减

                  decr key

扩展命令

    incrby key number 增加number

    decrby key number 减去number

 

    append key value 追加字符串

 

存储Hash的常用命令

赋值

    hset key k-v

    hmset key

取值

    hget key k

 

    hm key k k

 

    hgetall key

 

删除

    lrem key count value count正负代表遍历方向值代表删除个数 0为所有 

扩展命令

    hincrby key k number 增加number

    decrby key k number 减去number

 

    hexists key k 是否存在 1;0

 

    hlen key

 

    hkeys key

 

    hvals key

 

存储list的常用命令

赋值

  两端添加

    lpush key value value value 左添加

    rpush key value value value 右添加

某一个位置添加指定元素

    lset key index value

 

    linsert key before/after value value

取值

    lrange key beginIndex endIndex

 

两端弹出

    lpop key   左弹出

    rpop key   右弹出

获取list长度

    llen key

删除

    del key

 

数值增减

  /增

    incr key

  /减

    decr key

扩展命令

    lpushx key value 存在才插入

    rpoplpush key1 key2 将前一个的队尾插入第二个队头

 

存储Set的常用命令

添加元素

    sadd key value1 value2 value3

 

删除元素

    srem key vaue1 value2

 

查看元素

    smembers key

 

判断元素值是否在集合里

    sysmember key value

 

差集运算

    sdiff key1 key2

交集运算

    sinter key1 ley2

并集运算

    sunion key1 key2

获得集合成员数量

    scard key

随机获得成员

    srandmember key

差集存储

    sdiffstore newkey key1 key2

 

存储Sorted-Set的常用命令

添加元素

    zadd key score1 value1 score2 value2 score1 value3

删除元素

    zrem key vaue1 value2

    zremrangebyrank key beginIndex endIndex

    zremrangebyscore key lowScore highCore

查看元素

    zscore key value

    zcard key

范围查找

    zrange key beginIndex endIndex

    zrange key beginIndex endIndex withscores

    zrevrange key beginIndex endIndex withscores

扩展命令

    zincrby key number value

    zcount key lowScore highScore

redis的应用场景

  1. 缓存
  2. 任务队列
  3. 网站访问统计
  4. 数据过期处理
  5. 应用排行榜
  6. 分布式集群架构中的读写分离

 

redis的安装

启动服务:./bin/redis-server ./redis.conf

停止命令:./redis-cli - 127.0.0.1 -p 6379 shutdown

 

redis特性

多数据库

select 0-15

move key databaseIndex

 

支持事物操作

multi 开启事物

exec 提交

discard 回滚

 

Redis持久化

持久化使用的方式

    1:RDB持久化

           在指定的时间间隔内将数据集快照

           优势:

                  单文件,易备份,易恢复

            劣势:

                   数据大可能造成系统延迟

     2:AOF持久化

            以日志的形式

                        优势:

                  数据安全性更高 每s同步 每修改同步(效率最低,但是最安全)

                  格式清晰,易于理解的日志文件

             劣势:

                  占用空间大,运行效率低于RDB

flush all 清空数据库

 

 

3:同时使用RDB和AOF

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值