[日常] Redis基本使用测试
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和集群(Cluster)提供高可用性(high availability)。
特点:
Redis数据库完全在内存中,使用磁盘仅用于持久性。
相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。
Redis可以将数据复制到任意数量的从服务器。
命令:
测试:ping 返回pong
字符串:get set
哈希:hmset hget hgetall
hmset student name "taoshihan" point 100
hgetall student
hget student name
列表:
lpush lrange
lpush users "taoshihan2"
lrange users 0 -1
集合:元素唯一
sadd smembers
sadd people aaa
smembers people
有序集合:成员有分数
zadd zrangebyscore
zadd man 2 aaa
zadd man 1 bbb
zrangebyscore man 0 1000
订阅:
subscribe publish
subscribe testChat
publish testChat "hello world"
事务:
multi exec
multi开启事务,写命令,exec开始执行
php:
1.pecl install redis;//安装扩展
2.配置php.ini
3.php -m|grep redis ;//检测扩展
<?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->set('name_1', 'taoshihan'); $name=$redis->get('name_1'); var_dump($name); //hash $redis->hMSet("student",array("name"=>"taoshihan","point"=>200)); $res=$redis->hGet("student","point"); var_dump($res); //list $redis->lPush('users', 'lisi'); $res=$redis->lRange('users', 0, -1); var_dump($res); //set $redis->sAdd('people' , 'member1'); $res=$redis->sMembers('people'); var_dump($res); //Sorted sets $redis->zAdd('man', 5, 'val5'); $res=$redis->zRange('man', 0, -1); var_dump($res); //Pub/sub $redis->publish('testChat', 'hello, world php!'); function f($redis, $chan, $msg) { echo $chan.":".$msg."\r\n"; } //$redis->subscribe(array('testChat'), 'f'); //transactions $ret = $redis->multi() ->set('key1', 'val1') ->get('key1') ->set('key2', 'val2') ->get('key2') ->exec(); var_dump($ret);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2016-03-03 [android] xml文件的序列化