Redis 初识

本文深入探讨了Redis的五种主要数据结构:字符串、列表、集合、有序集合和哈希类型,详细介绍了每种类型的基本操作命令,如set、get、lpush、rpush等,以及它们的应用场景。同时,文章还讲解了Redis的安装和启动方法,为初学者提供了全面的入门指南。

       关系型数据库是基于关系表的数据库,最终会将数据持久化到磁盘上,而 nosql 数据库是基于特殊的结构,并将数据存储到内存的数据库。从性能上而言,nosql 数据库要优于关系型数据库,从安全性上而言关系型数据库要优于 nosql 数据库,所以在实际开发中一个项目中 nosql 和关系型数据库会一起使用,达到性能和安全性的双保证。

       学过数据结构的肯定对 Redis 的存储形式不会觉得陌生。

Redis中的数据采用的是 key-value 的形式进行存储的,其中的 value 支持五种类型,字符串(String)字符串列表(Lists)字符串集合(Sets)有序字符串集合(Sorted Sets)哈希类型(Hashs)

安装启动 Redis,将下载好的 zip 解压到准备好的目录里面,cmd运行里面的 redis-server.exe 文件,如下图:

image

也可像安装 jdk 一样,将 Redis 的安装目录放进 path 里面,这样启动方便点。

image

然后就可以任意目录下面运行 redis-server.exe,redis-cli.exe 等命令了。

下面是五种类型的操作命令,加粗斜体单词均为命令操作,大写字母实在写不惯。

操作String类型数据的操作如下:

命令

解释

set keyName value

存储 key-value 对,存在即覆盖
get keyName

获取 keyName 对应的 value

getset keyName newValue

获取 keyName 对应的原始 value,然后赋值为 newValue 值,

不存在对应keyName则创建并赋值为 newValue

incr keyName

keyName 对应的 value 原子性自增 1,

如果 value 不能转换为整型,就会报错

decr keyName

keyName 对应的 value 原子性自减 1,

如果 value 不能转换为整型,就会报错

incrby keyName increment

keyName 对应的 value 原子性自增 increment 个 1,

如果 value 不能转换为整型,就会报错

decrby keyName increment

keyName 对应的 value 原子性自减 increment 个 1,

如果 value 不能转换为整型,就会报错

append keyName newValuekeyName 对应的原始value 后追加 newValue,
如果不存在 keyName,则创建一个keyName-newValue

表格中提到了原子性自增,这是什么意思呢?也就是下面这样的情况永远都不会发生:

【numberKey 对应的 value 为 5,客户端 a发出了 incr numberKey 命令的同时,客户端 b 也发出了 incr numberKey 的命令,服务器同时收到两个命令,得到的结果为 6】

得到的结果将会是为 7 ,这就是原子性。

操作 Lists 类型的操作如下:

命令解释
lpush keyName value1 [valuen]在 keyName 对应的 list 的头部插入元素【 也就是 left 左边 】
rpush keyName value1 [valuen]在 keyName 对应的 list 的尾部插入元素【 也就是 right 右边 】
lrange keyName startIndex endIndex获取 keyName 对应的链表指定下标对应的元素集合,
如果 startIndex 为负数,就倒着开始,
如果 endIndex 为负数,就倒着结束。

lpushx keyName value

当且仅当 keyName 存在时,在链表头部插入 value

rpushx keyName value

当且仅当 keyName 存在时,在链表尾部插入 value

lpop keyName

弹出 keyName 对应链表的头元素

rpop keyName

弹出 keyName 对应链表的尾元素

rpoplpush keyName

 

llen keyName

获取 keyName 对应链表的长度,也就是元素个数

lset keyName index newValue

设置 keyName 对应链表的 index 位置的元素

lrem keyName count value

删除 count 个值为 value 的元素,
【 如果 count 的值大于0,则从链表的头部开始遍历出最多 count 个值为 value的元素,
并删除这些元素;
如果 count 的值小于0,则从链表尾部开始遍历出最多 count 个值为 value的元素,
并删除这些元素】

转载于:https://www.cnblogs.com/daimajun/p/7084526.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值