redis12(Redis key设计技巧与php-redis扩展编译)

key设计技巧

        1:把表名转换为key前缀 如, tag:

        2第2段放置用于区分区key的字段--对应mysql中的主键的列名,如userid

        3第3段放置主键值,如2,3,4...., a , b ,c

        4:第4段,写要存储的列名

mysql存储:

redis存储设计:

        set  user:userid:9:username     lisi

        set  user:userid:9:password     111111

        set  user:userid:9:email             [email protected]    

        keys user:userid:9*     查询出9号用户的所有信息对应select * from user where id = 9 

注意:

        在关系型数据中,除主键外,还有可能其他列也步骤查询,

        如上图中, username也是极频繁查询的,往往这种列也是加了索引的.

        转换到k-v数据中,则也要相应的生成一条按照该列为主的key-value

        Set  user:username:lisi:uid  9  

        这样,我们可以根据username:lisi:uid ,查出userid=9,

        再查出user:9:password/email 

        完成了根据用户名来查询用户信息

demo

php-redis扩展编译

        之前明哥有过整理: swoole打造高性能赛事直播平台4(基于redis的登录功能)

        1:到pecl.php.net  搜索redis

        2:下载stable版(稳定版)扩展

        3:解压,

        4:执行/php/path/bin/phpize (作用是检测PHP的内核版本,并为扩展生成相应的编译配置)

        5: configure --with-php-config=/php/path/bin/php-config

        6: make && make install

        引入编译出的redis.so插件

        1:编辑php.ini

        2:添加

redis插件的使用

        $redis = new Redis();

        $redis->open('localhost',6380);

        $redis->set('user:userid:9:username','wangwu');

        var_dump($redis->get('user:userid:9:username'));

你可能感兴趣的:(redis12(Redis key设计技巧与php-redis扩展编译))