Redis特点

什么是redis

redis是使用C语言编写的,是一个开源高性能内存中键值对数据结构存储系统。它可以做缓存,数据库,中间件。它支持的键值对数据结构有:String,list,set,hash,zset,Bitmaps,Hyperloglogs,Geospatia等。

redis有哪些优缺点

优点

  • 读写性能强
  • 数据结构丰富
  • 支持数据持久化 忘记了
  • 支持事物 忘记了
  • 支持主从复制 忘记了

缺点:

  • 存储容量受物理内存影响(不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上) 忘记了
  • 不具有自动容错和恢复功能(所有有了哨兵)
  • 不适在线扩容,如果集群到达一定数量,redis在线扩容会变得复制。
Redis特点
  • Redis支持数据的持久化,可以将内存中的数据保存在硬盘中,重启的时候再次加载进行使用。
  • Redis不仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
  • Redis支持数据备份,即master-slaver模式的数据备份
Redis的优势
  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性
Redis与其他的key-value存储区别
  • Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
  • Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
安装redis
  • 下载redis*64解压包

  • 将redis压缩包放到/opt文件下-》解压redis压缩包

  • 配置环境安装-》yum install gcc-c++

  • 环境安装成功后-》输入命令make-》之后在输入make install命令

  • 进入redis默认安装路径: /usr/local/bin 将redis配置文件复制到当前目录下

  • 修改redis配置文件

  • 修改成功后保存退出

  • 启动redis服务:redis-server fconfig/redis.conf

  • 连接redis服务:redis-cli -p 6379

    [root@iZf8z85vg3kifrag7rh2e9Z bin]# redis-cli -p 6379
    127.0.0.1:6379> ping
    PONG

    如果想知道该服务是否启动 可以查看对应redis进程 ps -ef|gerp redis
    127.0.0.1:6379> set name kuangsheng
    OK
    127.0.0.1:6379> get name
    “kuangsheng”
    127.0.0.1:6379> keys *

    1. “name”
      127.0.0.1:6379> shutdown 关闭服务
      not connected> exit 退出

    清除数据库内容

    #   启动服务
    [root@iZf8z85vg3kifrag7rh2e9Z bin]# redis-server fconfig/redis.conf
    [root@iZf8z85vg3kifrag7rh2e9Z bin]# redis-cli -p 6379
    #  选中数据库三   数据库有16个数据库
    127.0.0.1:6379> select 3
    OK
    #   查看数据库3大小
    127.0.0.1:6379[3]> dbsize
    (integer) 0
    127.0.0.1:6379[3]> set name zeng
    OK
    127.0.0.1:6379[3]> dbsize
    (integer) 1
    #   查看数据库3所有key
    127.0.0.1:6379[3]> keys *
    1) "name"
    #   清除当前数据库所有内容
    127.0.0.1:6379[3]> flushdb
    OK
    127.0.0.1:6379[3]> dbsize
    (integer) 0
    127.0.0.1:6379[3]> set name zeng
    OK
    127.0.0.1:6379[3]> dbsize
    (integer) 1
    127.0.0.1:6379[3]> select 0
    OK
    #  清除所有数据库中的内容
    127.0.0.1:6379> flushAll
    OK
    127.0.0.1:6379> select 3
    OK
    127.0.0.1:6379[3]> dbsize
    (integer) 0
    127.0.0.1:6379[3]> dbsize
    (integer) 0
    #   expire设置已有key过期时间
    127.0.0.1:6379[3]> set name zeng
    OK
    127.0.0.1:6379[3]> expire name 15     #   设置15后name过期
    (integer) 1
    127.0.0.1:6379[3]> ttl name      #  还有12秒过期
    (integer) 12
    127.0.0.1:6379[3]> ttl name
    (integer) 10
    127.0.0.1:6379[3]> ttl name
    (integer) 6
    127.0.0.1:6379[3]> ttl name      #  还有12秒过期
    (integer) 2
    127.0.0.1:6379[3]> ttl name     #   当=0时表示设置的key过期
    (integer) -2
    127.0.0.1:6379[3]> dbsize
    (integer) 0
    127.0.0.1:6379[3]> 
    
    
    redis为什么这么快

    在讨论redis为什么这么快之前,我们先来了解redis为什么是单线程

    redis简介

    ​ reids是一个开源的内存中的数据结构存储系统,他还可以做缓存,数据库,中间件

    redis支持的数据结构有:String(字符串) ,hash(散列), list(列表), set(集合), zset(有序集合),范围查询,Bitmaps,Hyperloglogs,Geospatial(地理空间),索引半径。

    redis还内置了Rep

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值