小白笔记-Redis安装及基本操作
发布日期:2022-03-02 13:23:43 浏览次数:23 分类:技术文章

本文共 4083 字,大约阅读时间需要 13 分钟。

xshell的安装

我是用xshell连接的虚拟机操作,感觉在xshell上操作更舒服,xshell的安装可以看下方链接
https://blog.csdn.net/weixin_44222492/article/details/98256826
虚拟机linux系统中redis的安装
https://www.cnblogs.com/xiewenming/p/7687364.html
安装redis可以参考链接上方的大佬写的

xshell连接虚拟机后并安装了redis后就可以进行使用redis的功能了

通过输入redis-cli即可进入redis模式
set key value 意思是 set放 后面的key value就相当于字典
取的话 输入get key 即可得到value 下方是实例在这里插入图片描述
windows在pytohn中操作rides可先到我下面的链接安装rides
windows中rides的安装
https://pan.baidu.com/s/15RICprJ_kKdtf5i24O7vqQ
提取码5awa 下载后解压即可
然后python这边我喜欢用pycharm编译pycharm中也可以在左上角settings 然后pycharm然后点击python再点击旁边的+号安装redis模块,再windows下解压百度云的rides文件在这里插入图片描述
rides一些常规的字符串基本操作
set key value ex2(2秒)
这是设置name为alex只存活2秒,2秒过了我再调用就不存在了在这里插入图片描述set key value nx

这是设置当key不存在时才会生效,例如我先存了个name为alex再想通过nx存name为大写的ALEX发现就不行了,存name2就可以

set key value xx
这是当key存在时才会生效 与上面的相反的意思
在这里插入图片描述
如果出现我上面的 error misconf REdis 的错误就是
强制关闭Redis快照导致不能持久化。 Redis 运行过程中RDB快照无法写入磁盘
解决方案为在这里插入图片描述
SETEX key time value
这是同样的设置过期时间,设置size为24 5秒后过期在这里插入图片描述
批量设置 mst key value key value
设置了两个key 通过keys *可以看到确实是设置了两个在这里插入图片描述
批量get: mget key key
批量获取值在这里插入图片描述
设置新值并返回旧值
getset key value 注意是返回旧值 再get就是新值啦在这里插入图片描述
切片操作 getrange key num num (需要切的位置)
在这里插入图片描述
修改内容 从指定字符串索引开始操作向后替换
setrange key offset value offset我理解的是需要修改的位置
可以看到原本的who是jason 通过setrange修改了0位置的j改成a
如果你修改的内容大于一个就会往后覆盖在这里插入图片描述
setbit 我的理解是通过修改二进制字符修改内容,我也不太懂嘿嘿,稍作记录例如我想改 who里的值abcdn里的a 改成e
1.我是首先 ord获取a对应的ascii码为97 再bin获取对应的二进制在这里插入图片描述

二进制就是前面的加起来+1即是后面一位的值,例如a用到了64+32+1即是97,我们下下图将 5改成1 也就是4下面的0改成1,ascii码加4,即是e,5是第索引值,就是第五位的意思在这里插入图片描述

在这里插入图片描述

我们就成功的修改了a的值 描述的很模糊 看看就好 看还得看大神讲解
例如可以通过setbit getbit来查在线用户啥的

strlen获取字符串长度 strlen key

在这里插入图片描述
Redis Hash操作

图为hash的基本操作,和字典差不多,可以存更多的信息

第一个hset info key value
第二个为hget info value
第三个为hgetall info 取所有key value
第四个 hkeys info 取所有的key
第五个 hvalsinfo 取所有的value
在这里插入图片描述
批量设置以及批量获取,其中的info意思是filed组的意思,就是分类,例如两个班都有同名同姓的,即可分组设置在这里插入图片描述
hlens filed(组) 看有多少个key在这里插入图片描述
判断组里的是否存在 hexists info key在这里插入图片描述
筛选 hscan filed 0 match n*(这里是取n开头的所有)
例如我先列举了所有的key及value然后筛选出了n开头的,如果想筛选带n的可以 n * 结尾的就n 在这里插入图片描述
hash的基本操作就这么多,下面我们看看列表的操作
-------列表的操作--------
创建列表 lpush key value lpush存储是如图
他不是按顺序123往右边存,而是往左边 这是因为lpush,中的l是left向左输入在这里插入图片描述

lrange key num num 后面的两个num就是你索引的位置,切片的位置 可以看到‘lpush’的就是321 如果是‘rpush’就是123 r顾名思义right右的意思在这里插入图片描述

在学习的过程中,遇到了哔哩哗啦很长的突然报错,一脸懵逼,仔细一看我也没操作错呀,百度看了看是因为强制把redis快照关闭了导致不能持久化的问题,只需要像我一样输入configset stop-writes-on-bgsave-error no即可正常学习啦在这里插入图片描述
lpush key value 添加元素
只有key存在才添加 是往左添加在这里插入图片描述
llen key获取列表元素个数在这里插入图片描述
linsert key before value 新value
下方实例中的意思是在number组中的5上方添加66
before改成after即是下方添加
在这里插入图片描述
lset filed 索引值 value
图中是将number组中的第二个索引值改成66修改在这里插入图片描述

删除指定的元素lrem filed count value

图中是删除了number中4个66在这里插入图片描述
获取列表第一个元素返回并删除
rpop就从最后开始删除------
在这里插入图片描述
ltrim filed num num 删除索引范围外的值在这里插入图片描述
rpoplpush filed filed 将一个filed最右边的元素转移个新的filed的最左边在这里插入图片描述
-----集合的操作-----

创建集合为:sadd key value value

查看所有的value:smembers key
集合会自动去重 图中可以看到我创建两个green 查看总的只有一个green在这里插入图片描述
比较求差集sadd key key
图中我新创了一个color1集合写入green blue
这样color为 red green color1为green blue
然后sadd 进行比较 结果为red 因为color里有,color1里没有,如果用color1和color比就是blue在这里插入图片描述

sdiffstore key1 key2 key3

将key2与key3相比将不重复的value传给新建的key1中在这里插入图片描述
sinter key key 求两个集合之间交集
sinter test key key 则就是将后两个的key的交集的值传给test并新建一个集合为test
sunion key key求两个集合之间的并集在这里插入图片描述
sismember key value 检测集合中是否有对应值在这里插入图片描述
smove key key value将某个值从一个集合
·移动到另一个集合 图中的是将zoo4里的cat移动zoo6

在这里插入图片描述

spop key移除尾部成员并返回在这里插入图片描述

sscan key 0 match x*筛选,图中是筛选zoo4集合的d开头的值在这里插入图片描述

-----有序集合-----
看到这里的话应该有人问,集合和有序集合的区别?不过应该没人会看到这哈哈,我也有这个问题 于是百度了一下,看到了大神的解释,我就copy一下 希望大神别介意在这里插入图片描述
**zadd key num value(**权重)有序排列安装权重,后方加withscores即可出权重的值,例如我写的是物品对应的价格
zrange key 0 -1 这是看全部的意思,想看个别区域也可以在这里插入图片描述
zcount key min max获取minmax之间的值,比如我筛选价格,发现我这个商店里有两个我买得起的物品在这里插入图片描述
zincrby key num value自增对应集合的值
例如我的球,我想赚多点钱,我就加2块钱在这里插入图片描述
zrank key value获取排行,例如我想知道我的ball在商店货架哪里就可以用这个,毕竟我的商店日益强大,商品越来越多找起来肯定麻烦,我这样找就很方便啦
在这里插入图片描述
zremrangebyrank key min max将minmax值范围内的删除在这里插入图片描述
zremrangebyrank key min max
与上方不同这按照排行范围删除在这里插入图片描述

zscore key value获取对应值 我获取了球的价格在这里插入图片描述

zinterstore key num key key获取两个有序集合的交集合中权重值相加,如果遇到相同key不同分数,就会相加
num是声明后面几个集合 前面的key是将后面两个key计算的结果赋给前面的key,我用于统计两个人语文与数学的学科成绩总和 有交集就肯定有并集 并集为
zunionstore key num key key在这里插入图片描述
-----其他操作-----
del key删除指定的值的在这里插入图片描述
exists key判断值存不存在
在这里插入图片描述
keys key看指定开头的key 图中看in开头的key在这里插入图片描述
在这里插入图片描述
expire key num设置超时时间
例如我5秒后再取获取就没了 key也会消失在这里插入图片描述
db就是数据库的意思默认有16个 0-15 比如有相同的key,如果存到一个中就会覆盖,就可以存到不同的数据库中 通过
select num*切换,默认一开始应该都是在db0中
在这里插入图片描述

move key db将某个值移到别的数据库中,例如我将本数据库的name为tan的value通过move name 5 移动到了第五个数据库中,本数据库中的tan会消失在这里插入图片描述

type key 获取对应值的类型在这里插入图片描述

转载地址:https://blog.csdn.net/WOSHIBEIZHE/article/details/117885118 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:关于myspl数据库安装及基本用法
下一篇:ORM框架sqlalchemy介绍及基本操作

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年03月01日 22时19分03秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

realme x2 深度测试打不开_搭载65W超级闪充,realme真我X7手机充电评测 2019-04-21
整数取反编程_【每日编程185期】数字的补数 2019-04-21
能用别的软件吗_手机软件能用蓝牙传送吗 2019-04-21
为什么图片要2的倍数_为什么宝宝喜欢流“口水”?这种2种原因父母要知道,建议收藏... 2019-04-21
下载了XAMPP怎样打开MYSQL_xampp mysql安装启动 2019-04-21
pdo转mysql_mysql转mysqli或pdo 2019-04-21
mysql如果没有表就创建_mysql – 改变表是否存在或创建如果没有 2019-04-21
ireport连接mysql_ireport 4.5教程之数据源介绍 2019-04-21
mysql多维模型_数据仓库数据库设计方法---关系模型和多维模型比较分析 2019-04-21
局域网聊天程序 java MySQL_java 基于TCP/IP协议的局域网聊天小程序 2019-04-21
r glm 中的p值_假设检验中的P值 2019-04-21
mysql中sql语句结构_MySQL中使用sql语句获得表结构 2019-04-21
如何增加mysql主键约束_mysql修改表时怎么添加主键约束? 2019-04-21
java选择路径窗口_Java实现选择电脑路径的方法 2019-04-21
java 图像渐变_Java基础之在窗口中绘图——渐变填充(GradientApplet 1) 2019-04-21
冒泡排序面向对象java_所谓的面向对象实现的冒泡排序 2019-04-21
proto 客户端 JAVA_Kubernetes官方java客户端之五:proto基本操作 2019-04-21
java编写roguelike_RogueLike地牢生成算法Unity实现 2019-04-21
java ajax 修改数据库数据库数据库_AJAX 自学练习 无刷新提交并修改数据库数据并显... 2019-04-21
java并发编程指南博客_Java并发编程-synchronized指南 2019-04-21