学习redis

首先 安装 redis , 

brew install redis

启动redis 

redis-server

koa环境下 需要依赖两个中间件去操作redis

npm i -S redis koa-redis 

npm i -S redis koa-generic-session

在 app.js增加

const session = require('koa-generic-session')
const Redis = require('koa-redis')

//app.keys内容可以随便填,一般是随机字符串。作用是用来加密cookie
app.keys = ['md5', 'base64']

// session使用了redis存储
app.use(session({
  store: new Redis()
}))

一般来说 redis 存储 有两种场景。

1, 配合session来使用

2, 符合 快速查询特点的数据,也可以直接操作 redis ,下面有实力

在路由中使用 命令 

// 统计pv,只有session 操作到了才会 种植session
ctx.session.count++

可以看到 有两个session被种植到了cookie ,都是httponly的

如果要修改自己的session名字那么的话 

app.use(session({
  key:'ddd', // 修改session的key
  prefix:'lllsss', // 修改服务器存储的前缀
  store: new Redis()
}))

 

现在我们查看redis的数据

1, 启动cli 命令行工具

redis-cli

2 ,使用命令查看全部

keys *

3, 使用get 查看value

get lllsssHjxwTpPF8vkite1i11lwn6z3H0ALi0Fl

得到

"{\"cookie\":{\"httpOnly\":true,\"path\":\"/\",\"overwrite\":true,\"signed\":true,\"maxAge\":86400000},\"count\":8}"
 

下面是直接使用redis的实例

const Redis = require('koa-redis')
const Store = new Redis().client

// 访问这个接口
router.get('/getRedis',async function(ctx) {
  let code
     try{
       code=0
       // 操作redis
       await Store.hset('getRedis','name',Math.random())
     }catch (e) {
       code=1
     }
     ctx.body = {
      code
     }
})

最后 通过命令 hget getRedis name 可以查询得到  值

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值