欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[日常] Redis基本使用测试

程序员文章站 2022-07-06 19:25:40
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hy ......

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);