Redis学习笔记
2021/7/3 2:21:27
本文主要是介绍Redis学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Redis的数据结构: String(字符串) hash(哈希/链表/字典-php关联数组) list(字符串列表-php索引数组[先进后出]) set(无序字符串集合) sorted set(有序字符串集合) 1.Redis的数据结构之字符串: set person jack 赋值增加一个键值对 del person 删除 get person 查询 getset person jason, 修改person值为jason incr num,如果没有num这个键则初始化为0,并+1,必须为数字类型 decr num2,如果没有num这个键则初始化为0,并-1,必须为数字类型 incrby num 5,给num加指定的数值5 decrby num 3,给num减3 append num 5,给num追加5这个字符串,结果为35 2.Redis的数据结构之hash(哈希): hset myhash username jack #设置一个键值对 hset myhash age 18 hmset myhash2 username rose age 21 #设置多个键值对 hget myhash username #获取一个键的值 hmget myhash username age #获取多个hash键位的数据 hgetall myhash 获取某个hash的所有键值对 hdel myhash2 username age #删除特定的键值 hgetall myhash2 #获取myhash2的所有键值对 del myhash #删除整个集合 hexists myhash username 判断某个键是否存在 3.Redis的数据结构之list: lpush mylist a b c list左侧添加 rpush mylist a b c list右侧添加 lrange xxx 0 5 角标0到第5位 查询元素 lrange xxx 0 -1 0到倒数第一位 lpop mylist 左侧弹出 rpop mylist 右侧弹出 llen mylist 查询长度 lpushx/rpushx mylist x 头部添加x 没有则不添加 lrem mylist m x 从左删除m个x元素 删除list元素 lrem mylist -m x 从右删除m个x元素 lrem mylist 0 x 删除所有x元素 lset mylist 3 mmm 设置(修改)角标元素 linsert mylist before/after [value] [insertvalue] 某个值之前/之后插入元素 rpoplpush mylist1 mylist2 将list1最右边的值pop到list2最左边 4.Redis的数据结构之Set: 与List类型不同,set集合不允许出现重复的元素,Set可包含的最大元素数量是42949672 ---添加/删除元素 sadd myset a b c 1 2 3 srem myset 1 2 ---获得集合中的元素 smembers myset sismember myset a (有就显示1,无就显示0) ---找出集合中的差集 sadd mya1 a b c sadd myb1 a c 1 2 sdiff mya1 myb1 ---找出集合中的交集 sinter ---集合中的并集: sunion ---扩展命令: 获取set具体的成员数量 scard myset 随机返回set中的一个成员 srandmember 将两个集合相差的成员存储到其他集合上sdiffstore my1 mya1 myb1 将两个集合的交集存储到其他集合上sinterstore my1 mya1 myb1 将两个集合的并集存储到其他集合上sunionstore my1 mya1 myb1 5.Redis的数据结构之sorted set: 与set类型很相似比set快,并且成员在集合的位置是有序的。 增加:zadd zadd mysort 80 zs 90 ls 100 ww 值相同则更新分数 查看分数:zscore zscore mysort zs 计数:zcard zcard mysort 遍历:zrange zrange mysort 0 -1 按照默认顺序显示值 zrange mysort 0 -1 withscores 显示值和分数 zrevrange mysort 0 -1 withscores 逆序显示值和分数 删除:zrem zrem mysort ls zremrangebyrank mysort 0 4 按照范围进行删除 zremrangebyscore mysort 80 90 按照分数范围进行删除 递增:zincrby zincrby mysort 3 ls 给ls的分数加三 6.Redis Keys的通用操作: 启动服务:redis-server.exe --service-start 客户端调用: redis-cli.exe -h 127.0.0.1 -p 6379 停止服务:redis-server.exe --service-stop 卸载服务: redis-server.exe --service-uninstall exit 退出 ---Keys的通用操作: keys * -查询所有的keys keys my? -查询以my开头的keys del mylist1 mylist2 -删除keys exists mylist -判断keys是否存在,存在返回1,不存在返回0 rename company newcompany -重命名,把company改名为newcompany expire newcompany 1000 -设置keys的超时时间 ttl newcompany -查看keys的剩余超时时间 type mylist -查看keys的类型 flushall 清空数据库 clear 清空当前窗口命令 7.Redis特性: ---多数据库: redis最大支持16个数据库,按0~15的索引排列 默认使用的是0数据库 select 0 选取数据库select 1 move keyName index 将key移动到指定数据库 move mylist 1 ---使用multi、exec、discard来实现事务: multi 开启事务(begin) -- redis的一些操作等 -- exec 提交(commit)/discard 回滚(rollback) 事务中,所有命令都会串行执行,事务执行期间,redis不会为其它的客户端提供服务,从而保证命令原子化执行。
这篇关于Redis学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-02阿里云Redis项目实战入门教程
- 2025-01-02阿里云Redis资料入门详解
- 2024-12-30阿里云Redis教程:新手入门指南
- 2024-12-27阿里云Redis学习入门指南
- 2024-12-27阿里云Redis入门详解:轻松搭建与管理
- 2024-12-27阿里云Redis学习:新手入门指南
- 2024-12-24Redis资料:新手入门快速指南
- 2024-12-24Redis资料:新手入门教程与实践指南
- 2024-12-24Redis资料:新手入门教程与实践指南
- 2024-12-07Redis高并发入门详解