Redis

Posted 溪鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis相关的知识,希望对你有一定的参考价值。

Redis特性

  • Redis 与其他 key - value 缓存产品有以下三个特点:
  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Redis 优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis应用场景

  • 用来做缓存(ehcache/memcached)——redis的所有数据是放在内存中的(内存数据库)
  • 可以在某些特定应用场景下替代传统数据库——比如社交类的应用
  • 在一些大型系统中,巧妙地实现一些特定的功能:session共享、购物车
  • 只要你有丰富的想象力,redis可以用在可以给你无限的惊喜…….

 

Redis 安装

 

  • step1:下载

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

    技术图片

  • step2:解压

    tar xzf redis-x.x.x.tar.gz

  • step3:移动,放到usr/local?录下

    sudo mv ./redis-x.x.x /usr/local/redis/

  • step4:进?redis?录

    cd /usr/local/redis/

  • step5:生成

    sudo make

    技术图片

  • step6:测试,这段运?时间会较?

    sudo make test

    技术图片

  • step7:安装,将redis的命令安装到/usr/local/bin/?录

    sudo make install

  • step8:安装完成后,我们进入目录/usr/local/bin中查看

    cd /usr/local/bin
    ls -all

    技术图片

    • redis-server redis服务器
    • redis-cli redis命令行客户端
    • redis-benchmark redis性能测试工具
    • redis-check-aof AOF文件修复工具
    • redis-check-rdb RDB文件检索工具
  • step9:配置?件,移动到/etc/?录下

配置?件?录为/usr/local/redis/redis.conf

sudo cp /usr/local/redis/redis.conf /etc/redis/

 

核心配置选项

  • 绑定ip:如果需要远程访问,可将此?注释,或绑定?个真实ip

    bind 127.0.0.1

  • 端?,默认为6379

    port 6379

  • 是否以守护进程运?

    • 如果以守护进程运?,则不会在命令?阻塞,类似于服务
    • 如果以?守护进程运?,则当前终端被阻塞
    • 设置为yes表示守护进程,设置为no表示?守护进程
    • 推荐设置为yes

    daemonize yes

  • 数据?件

    dbfilename dump.rdb

  • 数据?件存储路径

    dir /var/lib/redis

  • ?志?件

    logfile "/var/log/redis/redis-server.log"

  • 数据库,默认有16个

    database 16

  • 主从复制,类似于双机备份。

    slaveof

     

  • 服务器端

  • 服务器端的命令为redis-server

  • 可以使?help查看帮助?档

    redis-server --help

  • 个人习惯

    ps aux | grep redis 查看redis服务器进程
    sudo kill -9 pid 杀死redis服务器
    sudo redis-server /etc/redis/redis.conf 指定加载的配置文件

客户端

    • 客户端的命令为redis-cli
    • 可以使?help查看帮助?档

      redis-cli --help

    • 连接redis

      redis-cli

      技术图片

    • 运?测试命令

      ping

      技术图片

    • 切换数据库

    • 数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库

      select 10

       

数据操作

值的类型分为五种:

  • 字符串string
  • 哈希hash
  • 列表list
  • 集合set
  • 有序集合zset

 

字符串

设置
set key value
同时设置多个
mset k v k v
获取
get key
给key追加数据
append key 数据
删除
del key
设置保质期
setex key 时间 value
查看key信息
ttl key
keys 后面接正则 a*
查看key 类型
type key

哈希(映射关系)

设置单个属性
hset xujin age 1
设置多个
hmset xujin age 1 high 2
获取指定键所有属性
hkeys xujin
获取某个属性的值
hget xujin age
获取多个属性的值
hmget xujin age high
获取所有属性值
hvals xujin
删除某个属性
hdel xujin age

列表(一连串 按照插入顺序排序)

左插入
lpush key v1 v2 v3
右插入
rpush key v1 v2 v3
在key列表的b前加入3 换成after是之后
insert key before b 3
当stop 是-1 则显示所有
设置指定位置
lset key index value
无序集合

 

以上是关于Redis的主要内容,如果未能解决你的问题,请参考以下文章

redis存储session配制方法

Redis实现分布式锁(设计模式应用实战)

Redis实现分布式锁(设计模式应用实战)

Redis缓存:java语言注释符号,附超全教程文档

spring boot 整合 redis

Redis 学习 —— 数据类型及操作