redis安装与使用实例

redis简介与安装

redis简介

1、内存数据库
内存数据库简述:磁盘数据库(DRDB:Disk-Resident Database)需要频繁地访问磁盘来进行数据的操作,由于对磁盘读写数据的操作一方面要进行磁头的机械移动,另一方面受到系统调用时间的影响,当数据量很大,操作频繁且复杂时,就会暴露出很多问题。内存数据库(MMDB:Main Memory Database)相对于磁盘,内存的数据读写速度要高出几个数量级,内存数据库与共享内存技术不同,共享内存技术是在传统的数据库中,增大缓冲池,将一个事务所涉及的数据都放在缓冲池中,组织成相应的数据结构来进行查询和更新处理。
内存数据库类型:(1)关系型内存数据库:SQlite、FastDB、Apache Ignite等;(2)键值对内存数据库:redis、memcached等;(3)传统数据库的内存数据库引擎:OracleTimesTen、SAP HANA等。
2、redis
高性能的key-value数据库

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

redis安装

下载地址:http://redis.io/download, 下载最新稳定版本。
在线测试网址:http://try.redis.io/
Redis 官网:https://redis.io/
安装步骤:

  • wget http://download.redis.io/releases/redis-2.8.17.tar.gz
  • tar xzf redis-2.8.17.tar.gz
  • cd redis-2.8.17
  • make
  • make install 注:/usr/local/bin目录下生成一系列的安装文件
  • cp redis.conf redis.conf.bak 注:备份一个redis配置

make完后 redis-2.8.17目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:
下面启动redis服务。

  • cd src
  • ./redis-server
  • ./redis-cli 注:与redis服务交互命令
  • 127.0.0.1:6379>set mytest hello
  • 127.0.0.1:6379>get mytest
  • 127.0.0.1:6379>CONFIG GET * 注:获取配置项
  • 127.0.0.1:6379> CONFIG SET loglevel “notice” 注:修改配置项

参数解释说明:

id param value description
1 daemonize no Redis默认不以守护进程方式运行
2 pidfile /var/run/redis.pid 当Redis以守护进程方式运行时,默认把pid写入/var/run/redis.pid
3 port 6379 指定Redis监听端口,默认6379
4 bind 127.0.0.1 绑定的主机地址
5 timeout 0 客户端闲置多长时间后关闭连接,0表示关闭该功能
6 loglevel notice 指定日志记录级别,Redis共支持四个级别:debug、verbose、notice、warning,默认notice
7 logfile stdout 日志记录方式,默认标准输出,若Redis以守护进程运行,此配置为标准输出,则日志会发给/dev/null
8 databases 16 设置数据库数量,可使用SELECT 指定数据库id
9 save 3600 1 300 100 60 10000 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
10 rdbcompression yes 指定存储至本地数据库时是否压缩数据,默认yes,Redis采用LZF压缩,若节省CPU时间,可关闭该选项,但会导致数据库文件巨大
11 dbfilename dump.rdb 指定本地数据库文件名,默认值为dump.rdb
12 dir ./ 指定本地数据库存放目录
13 slaveof masterip masterport 当本机为slave服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
14 masterauth master-password 当master服务设置了密码保护时,slave服务连接master的密码
15 requirepass foobared 设置Redis连接密码,若配置连接密码,客户端连接Redis时需要通过AUTH password命令提供密码,默认关闭
16 maxclients 10000 设置同一时间最大客户端连接数,0为无限制
17 maxmemory 0 指定Redis最大内存限制
18 appendonly no 指定是否在每次更新操作后进行日志记录
19 activerehashing yes 指定是否激活重置哈希,默认为开启
20 include /path/to/local.conf 指定包含其它的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各个实例又拥有自己特定配置文件

redis实例

python使用redis

安装python(略)
安装python的redis模块

  • wget --no-check-certificate https://pypi.python.org/packages/source/r/redis/redis-2.8.0.tar.gz
  • tar -zvxf redis-2.8.0.tar.gz
  • mv redis-2.8.0 python-redis-2.8.0
  • cd python-redis-2.8.0
  • python setup.py install

如下python测试连接redis代码

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import redis
r = redis.Redis(host='127.0.0.1', port=6379, db=0)
r.set("name","redis")
print r.get("name")

php使用redis

安装php(略)
安装php redis驱动

  • wget https://github.com/phpredis/phpredis/archive/3.1.4.tar.gz
  • cd phpredis-3.1.4 # 进入 phpredis 目录
  • /usr/local/php/bin/phpize # php安装后的路径
  • ./configure --with-php-config=/usr/local/php/bin/php-config
  • make && make install
    修改php.ini文件:/usr/local/php/lib/php.ini
    增加如下内容:
    extension_dir = “/usr/local/php/lib/php/extensions/no-debug-zts-20090626”
    extension = redis.so
connect('127.0.0.1', 6379);
   echo "Connection to server sucessfully";
         //查看服务是否运行
   echo "Server is running: " . $redis->ping();
?>

你可能感兴趣的:(SQL)