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
尚硅谷是一个教育机构,他们提供了一份关于Redis学习笔记。根据提供的引用内容,我们可以了解到他们提到了一些关于Redis配置和使用的内容。 首先,在引用中提到了通过执行命令"vi /redis-6.2.6/redis.conf"来编辑Redis配置文件。这个命令可以让你进入只读模式来查询"daemonize"配置项的位置。 在引用中提到了Redis会根据键值计算出应该送往的插槽,并且如果不是该客户端对应服务器的插槽,Redis会报错并告知应该前往的Redis实例的地址和端口。 在引用中提到了通过修改Redis的配置文件来指定Redis的日志文件位置。可以使用命令"sudo vim /etc/redis.conf"来编辑Redis的配置文件,并且在文件中指定日志文件的位置。 通过这些引用内容,我们可以得出结论,尚硅谷的Redis学习笔记涵盖了关于Redis的配置和使用的内容,并提供了一些相关的命令和操作示例。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Redis学习笔记--尚硅谷](https://blog.csdn.net/HHCS231/article/details/123637379)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Redis学习笔记——尚硅谷](https://blog.csdn.net/qq_48092631/article/details/129662119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值