Redis学习笔记

一.干啥的?特点

Redis是一个开源高性能键值对数据库。她通过提供多种键值数据类型来使用不同场景的需求。Redis中所有数据都存储在内存中(问题来了,程序退出后内存中的数据会丢失),因此,Redis在性能上对比其他基于硬盘存储的数据库有明显的优势。

一个空Redis实例只有1M左右,非常轻量级。

一般使用:缓存、队列系统等。

二. 安装

MAC中通过homebrew安装比较简单:

brew install redis

ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist 

三.启动和停止Redis

3.1 开发环境启动Redis

redis-server             #默认6379端口
redis-server --port 6380 #指定6380端口

这里写图片描述
3.2 通过初始化脚本启动
3.3停止Redis

redis-cli SHUTDOWN

注意的是,这里不能强行终止Redis,因为内存中的数据可能同步在硬盘中,强行终止可能导致数据丢失。接收到关闭命令后Redis会执行:

  • 断开客户端连接
  • 根据配置持久化
  • 完成退出

四. Redis客户端

4.1 发送命令

通过redis-cli项redis发送命令有两种方式:

  • 将命令作为redis-cli的参数`
redis-cli -h 127.0.0.1 -p 6379 #默认配置可以通过参数自定义配置
  • 不附带参数运行redis-cli会进入交互模式:
$ redis-cli
redis 127.0.01:6379>ping
PONG
redis 127.0.01:6379>echo hello world
hello world

4.2 命令返回值

  • 状态回复(例如:设置状态成功回复:OK)
redis 127.0.01:6379>ping
PONG
  • 错误回复(以error开头)
127.0.0.1:6379> SHOTDOWN
(error) ERR unknown command 'SHOTDOWN'
  • 整数回复(例如:递增键值命令会以证书形式返回递增后的键值)
127.0.0.1:6379> incr foo
(integer) 1
  • 字符串回复
127.0.0.1:6379> get foo
"1"
127.0.0.1:6379> get no  #特殊情况下键值不存在返回nuil
(nil)
  • 多行字符串回复
127.0.0.1:6379> keys *
1) "foo"
1) "too"

4.3 多数据库

与关系数据库中的可以创建多个数据库相似,Redis提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中,可以理解为每个字典都是一个独立的数据库。可以使用select命令更换数据库:

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> 

每个数据库对外都是以0开始递增数字命名的,Redis支持16个数据库。Redis不支持自定义数据库的名字,每个数据库都以编号命名,开发者必须自己记录那些数据存储了哪些数据。Redis不支持每个数据库设置不同的访问密。多个数据库之间并不是完全隔离的。

由于Redis的这种特性,这些数据库更像是一种命名空间,而不适宜存储不同的应用的数据。

五. 基础命令

Redis命令并不区分大小写
5.1 判断键是否存在

127.0.0.1:6379> exists test  #存在返回1 ,不存在返回0
(integer) 1

5.2 赋值与取值

127.0.0.1:6379> set test 2  #存储 key=test value=2
OK
127.0.0.1:6379> keys *      #查看所有键(键值多会影响性能不建议使用)
1) "test"
2) "foo"
127.0.0.1:6379> get test    #取值 key=test
"2"
127.0.0.1:6379> set test 3  #同名key会覆盖
OK
127.0.0.1:6379> get test
"3"

5.3 删除键

127.0.0.1:6379> del test
(integer) 1
127.0.0.1:6379> del test
(integer) 0

5.4 获得键值的数据类型

127.0.0.1:6379> type test
string
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值