zoukankan      html  css  js  c++  java
  • [Redis专辑][1]ubuntu12.04下安装php-redis的方法和步骤

    首次公布路径:phpredis的安装

    非常久非常久没有写博文了,好多博文都没有整理完成,今天才抽时间整理完这一篇博文,希望能对大家有一定的帮助

    首先对redis做个简单的介绍:

    Redis 是全然开源免费的,遵守BSD协议,先进的key – value持久化产品。

    它通常被称为数据结构server,由于值(value)能够是 字符串(String)哈希(Map)列表(list)集合(sets)和 有序集合(sorted sets)等类型。

    这是官网的中文翻译。英文的就不是必需写上来了,假设想看英文的,能够去redis.io上去看看,中文的能够去redis.cn看看

    关于php-redis的安装和使用已经有非常多人写过去了。我在这里仅仅是完毕一个验证的过程

    安装redis

    wget http://download.redis.io/redis-stable.tar.gz
    tar xvzf redis-stable.tar.gz
    cd redis-stable
    make
    sudo make install  (假设是root用户能够不用sudo)

    安装完成后,拷贝下配置文件redis.conf。这里是为了更方便的使用

    sudo mkdir /etc/redis/
    sudo cp redis.conf /etc/redis/

    这时启动下redis看看,启动方法:

    redis-server /etc/redis/redis.conf

    启动后的界面效果:

    geeknimo@bogon:~/Documents/phpredis$ redis-server /etc/redis/redis.conf
    [16859] 07 Aug 10:05:30.292 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
    [16859] 07 Aug 10:05:30.293 # Redis can’t set maximum open files to 10032 because of OS error: Operation not permitted.
    [16859] 07 Aug 10:05:30.293 # Current maximum open files is 1024. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase ‘ulimit -n’.
    [16859] 07 Aug 10:05:30.293 # Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with ‘noeviction’ policy now.
    _._
    _.-“__ ”-._
    _.-“ `. `_. ”-._ Redis 2.8.13 (00000000/0) 32 bit
    .-“ .-“`. “`/ _.,_ ”-._
    ( ‘ , .-` | `, ) Running in stand alone mode
    |`-._`-…-` __…-.“-._|’` _.-’| Port: 6379
    | `-._ `._ / _.-’ | PID: 16859
    `-._ `-._ `-./ _.-’ _.-’
    |`-._`-._ `-.__.-’ _.-’_.-’|
    | `-._`-._ _.-’_.-’ | http://redis.io
    `-._ `-._`-.__.-’_.-’ _.-’
    |`-._`-._ `-.__.-’ _.-’_.-’|
    | `-._`-._ _.-’_.-’ |
    `-._ `-._`-.__.-’_.-’ _.-’
    `-._ `-.__.-’ _.-’
    `-._ _.-’
    `-.__.-’

    [16859] 07 Aug 10:05:30.308 # Server started, Redis version 2.8.13
    [16859] 07 Aug 10:05:30.308 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‘vm.overcommit_memory = 1′ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1′ for this to take effect.
    [16859] 07 Aug 10:05:30.308 * The server is now ready to accept connections on port 6379

    假设想要后台执行,能够执行redis-server /etc/redis/redis.conf & ,或者改动配置文件/etc/redis/redis.conf中的daemonize设置为yes就可以。

    设置为daemonize后。启动redis-server。并使用redis-cli对redis-server进行连接

    redis-cli

    连接成功后:

    geeknimo@bogon:~/Documents/phpredis$ redis-cli
    127.0.0.1:6379>

    输入info查看:

    127.0.0.1:6379> info
    # Server
    redis_version:2.8.13
    redis_git_sha1:00000000
    redis_git_dirty:0
    redis_build_id:7331093c2c819968
    redis_mode:standalone
    os:Linux 3.2.0-29-generic-pae i686
    arch_bits:32
    multiplexing_api:epoll
    gcc_version:4.6.3
    process_id:16890
    run_id:660fc790eb501ea29b01b8bb9551f4711ab5f151
    tcp_port:6379
    uptime_in_seconds:6
    uptime_in_days:0
    hz:10
    lru_clock:14868319
    config_file:/etc/redis/redis.conf

    # Clients
    connected_clients:1
    client_longest_output_list:0
    client_biggest_input_buf:0
    blocked_clients:0

    # Memory
    used_memory:424880
    used_memory_human:414.92K
    used_memory_rss:1609728
    used_memory_peak:424880
    used_memory_peak_human:414.92K
    used_memory_lua:22528
    mem_fragmentation_ratio:3.79
    mem_allocator:jemalloc-3.6.0

    # Persistence
    loading:0
    rdb_changes_since_last_save:0
    rdb_bgsave_in_progress:0
    rdb_last_save_time:1407377241
    rdb_last_bgsave_status:ok
    rdb_last_bgsave_time_sec:-1
    rdb_current_bgsave_time_sec:-1
    aof_enabled:0
    aof_rewrite_in_progress:0
    aof_rewrite_scheduled:0
    aof_last_rewrite_time_sec:-1
    aof_current_rewrite_time_sec:-1
    aof_last_bgrewrite_status:ok
    aof_last_write_status:ok

    # Stats
    total_connections_received:1
    total_commands_processed:0
    instantaneous_ops_per_sec:0
    rejected_connections:0
    sync_full:0
    sync_partial_ok:0
    sync_partial_err:0
    expired_keys:0
    evicted_keys:0
    keyspace_hits:0
    keyspace_misses:0
    pubsub_channels:0
    pubsub_patterns:0
    latest_fork_usec:0

    # Replication
    role:master
    connected_slaves:0
    master_repl_offset:0
    repl_backlog_active:0
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:0
    repl_backlog_histlen:0

    # CPU
    used_cpu_sys:0.00
    used_cpu_user:0.00
    used_cpu_sys_children:0.00
    used_cpu_user_children:0.00

    # Keyspace

    这就表明redis服务启动成功了。至于优化嘛。后面的文章再说

    接下来我们去配置php-redis

    首先要安装git,php5,apache2,php5-dev

    sudo apt-get install php5 php5-dev apache2

    安装须要点时间

    在php-redis源码文件夹下。运行

    git clone https://github.com/nicolasff/phpredis.git

    phpize

    ./configure

    make && sudo make install

    提示信息:

    Installing shared extensions:     /usr/lib/php5/20121212+lfs/

    共享库在上面提示的路径下

    配置php-redis

    在/var/www/html下创建index.php,里面写上例如以下内容:

    <?php
    phpinfo();
    ?

    >

    并在/etc/php5/mods-available下建立一个redis.ini,内容例如以下:

    extension=redis.so

    并在/etc/php5/apache2/conf.d和/etc/php5/cli/conf.d下建立一个与redis.ini的软链接,当中cli这个部分非常关键,否则php -m无法得到redis的不论什么模块信息,即无法成功载入使用phpredis

    ln -s /etc/php5/mods-available/redis.ini /etc/php5/cli/conf.d/10-redis.ini
    ln -s /etc/php5/mods-available/redis.ini /etc/php5/apache2/conf.d/10-redis.ini

    重新启动apache2服务

    sudo service apache2 restart

    这里打开ubuntu相应的ip/index.php就能够看到php-redis的配置

    Additional .ini files parsed /etc/php5/apache2/conf.d/05-opcache.ini, /etc/php5/apache2/conf.d/10-pdo.ini, /etc/php5/apache2/conf.d/10-redis.ini, /etc/php5/apache2/conf.d/20-json.ini, /etc/php5/apache2/conf.d/20-readline.ini

    redis

    Redis Support enabled
    Redis Version 2.2.5

    session

    Session Support enabled
    Registered save handlers files user redis
    Registered serializer handlers php_serialize php php_binary wddx

    有了这些信息后開始进行測试代码

    建立testredis.php。内容例如以下:

    <?php
    $redis = new Redis();
    $redis->connect(’127.0.0.1′,6379);
    var_dump($redis->info());
    ?>

    这时运行php testredis.php

    能够在终端看到相应的内容

    也能够在web端看到对应的内容了。

    这样就算基本上搭建好了php-redis。

  • 相关阅读:
    移动桌面文件
    软件项目经理素质能力的必备要求
    如何管理时间
    《明日歌》
    浏览网页出现iexplore.exe应用程序错误为:"0x03e620b0"指令引用的"0x00000000"内存.该内存不能为"read"?
    css网站布局学习笔记
    因为爱,人生除了理智,还有情感!
    35岁之前成功的12条黄金法则
    VS2005中没有DataGrid控件的解决方案
    先装VS2005再装IIS,出现访问IIS元数据库失败解决方案
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/7149335.html
Copyright © 2011-2022 走看看