快速入门使用Redis缓存

Redis简介

Redis是一个高性能的内存数据库,以key-value方式存储数据,可以作为缓存使用。

为什么使用缓存?

  • 高并发

    MySQL的连接数存在瓶颈,连接过大可能导致MySQL宕机

    解决方法:

    • 部署多个MySQL服务,主从复制
    • 部署缓存,承担一部分的并发
  • 高性能

    基于内存,内存IO效率远远高于磁盘

    Redis的特点:

    • 性能高(读的速度是110000次/s,写的速度是81000次/s,单机redis支撑万级并发)
    • 支持多种存储类型
    • 丰富的特性(发布订阅、事务、过期策略等)
    • 支持持久化
    • 单线程 (避免上下文切换,线程同步问题)
Redis安装和使用
Linux安装
  • 先安装gcc编译器,可以用来编译c、c++等代码
yum -y install gcc //-y表示自动安装
  • 安装Redis
wget http://download.redis.io/releases/redis-3.2.5.tar.gz //下载redis安装包到usr/local
tar xzf redis-2.8.17.tar.gz
cd redis-2.8.17
make
  • BUG
使用 make MALLOC=libc 进行编译。MALLOC表示C语言中的动态分配内存函数,libc就是库文件
Windows安装
  • 从官网下载redis的windows版本
  • 解压
  • 启动服务器端
  • 启动客户端
Redis的配置

redis.conf

  • 注释掉 bind 127.0.0.1
  • 关闭保护模式 protected mode no
使用Redis
  • 1、启动服务器 src中 ./redis-server …/redis.conf
  • 2、启动客户端 src中 ./redis-cli
Redis的数据类型

Redis的数据以key-value方式存储。

数据类型有:

  • string 字符串(简单的key-value数据,适合保存单个数据,如:用户数量、库存数、商品数)
  • hash 哈希(适合保存复杂类型数据,如:用户对象)
  • list 列表(链表结构,适合保存有序的、可重复的数据,如:商品列表、评论列表)
  • set 无序集合(适合保存无序的,不可重复的数据)
  • zset 有序集合(适合保存有序的,不可重复的数据)
字符串
set key value
get key
可以设置失效时间
set key value EX 10  //10秒钟之后失效
Hash

hash存储,一般可以用来存储Java中的一个完整的自定义对象。

//hmset是存储hash值的指令,
//user是当前hash的key
//name "zhangsan" age 23 sex "nan" 是 key对应的值
127.0.0.1:6379> hmset user name "zhangsan" age 23 sex "nan"
OK
//hmget获取hash中的某一个属性的值
127.0.0.1:6379> hmget user name
1) "zhangsan"
127.0.0.1:6379> hmget user age
1) "23"
//hgetall是获取hash中的所有属性对应的值
127.0.0.1:6379> hgetall user
1) "name"
2) "zhangsan"
3) "age"
4) "23"
5) "sex"
6) "nan"

List列表(有序列表)

采用的链表结构进行数据存储

lpush 从右向左添加

rpush 从左向右添加

lrange key start stop

//lpush用来存储一个列表的命令。interesting是列表的名称,"basketball"列表中的值
127.0.0.1:6379&g
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值