redis学习笔记

本文详细介绍了 Redis 中五种主要的数据类型及其相关命令的使用方法。包括简单类型的 get 和 set 操作,散列类型的 hset 和 hget,列表类型的使用,set 类型的特性,以及有序集合类型的命令。此外,还探讨了一些特殊命令如 incrbyfloat 的工作原理。

redis命令参考:

http://doc.redisfans.com/

redis-cli中那些或许我们还不知道的一些实用小功能:
https://www.cnblogs.com/huangxincheng/p/6159890.html

数据类型和命令:

1.简单类型:
get/set key value简单操作

incr可以对值增1(为空的内容执行incr结果为1),会检查值的类型,如果不是整数类型,会报错。表示的最大范围为2^64-1,也就是9223372036854775807,超过这个范围就会报错。认为redis检查值是否是整数是通过判断每一位是否是数字0-9对应的utf-8编码来实现的。

decr对值减1。还有增加指定数据的操作:incrby key increment,decrby key incrment。 还有更神奇的操作:incrbyfloat/decrbyfloat  key incremnet(浮点数的范围也是双精度)

我猜测redis的实现原理是这样的(有待后面学习后验证):
1.存在数据库的是字符。
2.当你执行incr/decr/incrbyfloat/decrbyfloat命令的时候,对字符进行判断,是否能够转换成整数或者浮点数,以及是否溢出。
3.进行字符到数值的转换,并进行运算,运算完成后再转换成字符串存回去。
同时redis有限制条件:对于只能转换成浮点数的字符串,无法执行incr/decr命令。而能够转换成整数或浮点数的,自然能够执行Incrbyfloat/decrbyfloat


"GETBIT key offset "  "SETBIT key offset value"对位进行操作,要记住字符串是以ascii码形式保存的。


2.散列类型
散列类型即是说一个key键对应的值是散列类型。
如:
hset age A  21
hset age B  22
hset age C  23
hget key filed 

hmget/hmset 可以同时操作多个键值对
hgetall 获取所有键和值
hkeys key
hvals key
hexists key filed 判断file是否存在
hsetnx key filed value filed不存在时进行设置
hincrby/hincrbyfloat key filed value,理解了上面关于incr/decr的解释后,这个概念没有什么疑惑的。
hdel key filed [filed ...]


3.列表类型
即是说一个key键对应的值是列表类型

4.set类型
即是说一个key键对应的值是set类型

5.有序集合类型
即是说一个key值对应的值是有序set类型









疑问:
1.为什么整数可以加浮点数,浮点数却不可以加整数?
2.

乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
### Redis 学习笔记概述 Redis 是一种高性能的键值存储系统,支持多种数据结构并提供丰富的功能。为了全面掌握 Redis 的使用方法和技术细节,一份详尽的学习笔记应当覆盖以下几个方面: #### 一、基础概念介绍 - **定义与特性** - Redis 是一个开源的内存数据结构存储库,可以用作数据库、缓存和消息中间件[^1]。 - **应用场景** - 高效的数据读写操作使其适用于高速缓存场景;持久化的选项也允许作为可靠的主数据库。 #### 二、环境搭建指南 - **安装过程** - 安装完成后可以通过 `redis-server` 命令启动服务,默认情况下这会在前台运行并且占用当前终端会话[^2]。 - **后台模式配置** - 推荐通过编辑 `/usr/local/src/redis-6.2.6/redis.conf` 文件中的设置项使 Redis 在后台稳定工作。 #### 三、核心功能解析 - **基本命令集** - 包括字符串(Strings)、哈希(Hashes)、列表(Lists)等常见数据类型的增删改查指令。 - **高级特性应用** - 发布订阅(Pub/Sub),事务处理(Transaction),Lua脚本执行等功能的应用实例。 #### 四、集成开发实践 - **Spring Boot 整合案例** - 使用 Spring Data Redis 提供的 `RedisTemplate` 对象简化 Java 应用程序同 Redis 数据源之间的交互逻辑[^3]。 #### 五、优化策略探讨 - **性能调优技巧** - 考虑到 CPU 并非主要瓶颈因素而是受制于物理 RAM 和网卡吞吐能力的影响,合理规划硬件资源分配对于提升整体效率至关重要。 - **预加载机制说明** - 当应用程序首次上线前预先填充部分热点数据至 Redis 中可以有效缓解高峰期的压力,提高响应速度[^4]。 #### 六、可靠性保障措施 - **持久化方案对比** - RDB 快照方式能够在指定时间间隔内保存数据副本,确保意外断电等情况下的恢复可能性。 ```bash # 启动Redis服务器(建议采用守护进程方式) $ redis-server /path/to/redis.conf --daemonize yes ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值