第一步:下载安装所需文件 http://redis.io/download wget http://redis.googlecode.com/files/redis-2.6.13.tar.gz http://www.tcl.tk/software/tcltk/download.html wget http://prdownloads.sourceforge.net/tcl/tcl8.6.0-src.tar.gz https://github.com/
第一步:下载安装所需文件http://redis.io/download
wget http://redis.googlecode.com/files/redis-2.6.13.tar.gz
http://www.tcl.tk/software/tcltk/download.html
wget http://prdownloads.sourceforge.net/tcl/tcl8.6.0-src.tar.gz
https://github.com/nicolasff/phpredis
wget https://github.com/nicolasff/phpredis/archive/master.zip
由于网址重定向最终下载的文件是master没有后缀,其实就是一个zip文件,使用unzip master 解压出来的文件夹是phpredis-master。
第二步:安装编译软件
2.1、安装tcl
tar xzvf tcl8.6.0-src.tar.gz
cd tcl8.6.0/unix
./configure
make && make install
如果不先安装tcl在编译redis的时候,执行make test 会报以下错误,这步也可以省略,不执行make test 直接执行make install 对redis的启动和关闭没有什么影响。
[root@localhost redis]# make test
cd src && make test
make[1]: Entering directory `/usr/local/webserver/redis/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/usr/local/webserver/redis/src'
make: *** [test] Error 2
2.2、安装redis
tar xzvf redis-2.6.13.tar.gz
mv redis-2.6.13 /usr/local/webserver/redis
cd /usr/local/webserver/redis
make
make test #可以省略
make install
2.3、配置
源码包中有一个默认的配置文件,文件名redis.conf,我们可以根据自己的需要修改相关的参数,
daemonize:默认值no,该参数用于定制redis服务是否以守护模式运行。
pidfile:默认值/var/run/redis.pid,指定redis服务的进程号文件路径,以守护模式运行时需要配置本参数;
port:默认值6379,指定redis服务的端口;
bind:绑定ip,默认是本机所有网络设备;
timeout:客户端空闲n秒后断开连接;
loglevel:设置服务端的日志级别,有下列几种选择:
debug:记录详细信息,用于开发或调试;
verbose:提供很多有用的信息,但是又不像debug那么详尽,默认就是这一选项;
notice:适度提醒,多用于产品环境;
warning:仅显示重要的警告信息;
logfile:指定日志的输出路径,默认值stdout,表示输出到屏幕,守护模式时则输出到/dev/null;
如果要输出日志到syslog中,可以启动syslog-enabled yes,默认该选项值为no。
databases:指定数据库的数量,默认为16个,默认使用的数据库是DB 0。
以下为快照相关的设置
save
save 900 1:每900秒(15分钟)至少一次键值变更时被触发;
save 300 10:每300秒(5分钟)至少10次键值变更时被触发;
save 60 10000:每60秒至少10000次键值变更时被触发;
rdbcompression:默认值yes,当dump数据库时使用LZF压缩字符串对象,如果CPU资源比较紧张,可以设置为no,选择不压缩;
dbfilename:默认值dump.rdb,dump到文件系统中的文件名;
dir:默认值./,即当前目录,dump出的数据文件的存储路径;
以下为复制相关的设置,复制默认是不启用的,因此在默认的参数文件下列表参数均被注释
# slaveof
# masterauth
slave-serve-stale-data:默认值yes。当slave丢失与master端的连接,或者复制仍在处理,那么slave会有下列两种表现:
当本参数值为yes时,slave为继续响应客户端请求,尽管数据已不同步甚至没有数据(出现在初次同步的情况下);
当本参数值为no时,slave会返回"SYNC with master in progreee"的错误信息;
# repl-ping-slave-period:默认值10,指定slave定期ping master的周期;
# repl-timeout:默认值60,指定超时时间。注意本参数包括批量传输数据和ping响应的时间。
以下为安全相关的设置
# requirepass:指定一个密码,客户端连接时也需要通过密码才能成功连接;
# rename-command:重定义命令,例如将CONFIG命令更名为一个很复杂的名字:
rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52;
rename-command CONFIG "":取消这个命令;
以下为资源限制方面的设置
# maxclients:指定客户端的最大并发连接数,默认是没有限制,直到redis无法创建新的进程为止,设置该参数值为0也表示不限制,如果该参数指定了值,当并发连接达到指定值时,redis会关闭所有新连接,并返回'max number of clients reached'的错误信息;
# maxmemory:设置redis最大可使用内存。当达到最大内存后,redis会尝试按照设置的回收策略删除键值。如果无法删除键值,或者保留策略设置为不清除,那么redis就会向发出内存的请求返回错误信息。当把redis做为一级LRU的缓存时本参数较为有用。
# maxmemory-policy:默认值volatile-lru,指定清除策略,有下列几种方法:
volatile-lru -> remove the key with an expire set using an LRU algorithm
allkeys-lru -> remove any key accordingly to the LRU algorithm
volatile-random -> remove a random key with an expire set
allkeys->random -> remove a random key, any key
volatile-ttl -> remove the key with the nearest expire time (minor TTL)
noeviction -> don't expire at all, just return an error on write operations
# maxmemory-samples:默认值3,LRU和最小TTL策略并非严谨的策略,而是大约估算的方式,因此可以选择取样值以便检查。
以下为APPEND ONLY模式的设置,默认情况下redis采用异步方式dump数据到磁盘上,极端情况下这可能会导致丢失部分数据(比如服务器突然宕机),如果数据比较重要,不希望丢失,可以启用直写的模式,这种模式下redis会将所有接收到的写操作同步到appendonly.aof文件中,该文件会在redis服务启动时在内存中重建所有数据。注意这种模式对性能影响非常之大。
appendonly:默认值no,指定是否启用直写模式;
# appendfilename:直写模式的默认文件名appendonly.aof;
appendfsync:调用fsync()方式让操作系统写数据到磁盘上,数据同步方式,有下列几种模式:
always:每次都调用,比如安全,但速度最慢;
everysec:每秒同步,这也是默认方式;
no:不调用fsync,由操作系统决定何时同步,比如快的模式;
no-appendfsync-on-rewrite:默认值no。当AOF fsync策略设置为always或everysec,后台保存进程会执行大量的I/O操作。某些linux配置下redis可能会阻塞过多的fsync()调用。
auto-aof-rewrite-percentage:默认值100
auto-aof-rewrite-min-size:默认值64mb
以下为慢日志相关的设置,用以记录执行时间超出阀值的查询。执行时间不包括I/O操作或发送数据到客户端等占用的时间,而是真正执行命令所花费的时间(即线程阻塞不能接受其它请求的时间):
slowlog-log-slower-than:默认值10000,单位微秒,定义为慢的执行的阀值;
slowlog-max-len:默认值1024,慢日志的最大数据。注意这会占用内容资源,如果要清空它可以执行SLOWLOG RESET命令;
以下为虚拟内存相关的设置,虚拟内存在2.4版本废弃,这里也略过不提了
vm-enabled no
vm-swap-file /tmp/redis.swap
vm-max-memory 0
vm-page-size 32
vm-pages 134217728
vm-max-threads 4
以下为高级配置相关的设置
hash-max-zipmap-entries:默认值512,当某个map的元素个数达到最大值,但是其中最大元素的长度没有达到设定阀值时,其HASH的编码采用一种特殊的方式(更有效利用内存)。本参数与下面的参数组合使用来设置这两项阀值。设置元素个数;
hash-max-zipmap-value:默认值64,设置map中元素的值的最大长度;这两个
list-max-ziplist-entries:默认值512,与hash类似,满足条件的list数组也会采用特殊的方式以节省空间。
list-max-ziplist-value:默认值64
set-max-intset-entries:默认值512,当set类型中的数据都是数值类型,并且set中整型元素的数量不超过指定值时,使用特殊的编码方式。
zset-max-ziplist-entries:默认值128,与hash和list类似。
zset-max-ziplist-value:默认值64
activerehashing:默认值yes,用来控制是否自动重建hash。Active rehashing每100微秒使用1微秒cpu时间排序,以重组Redis的hash表。重建是通过一种lazy方式,写入hash表的操作越多,需要执行rehashing的步骤也越多,如果服务器当前空闲,那么rehashing操作会一直执行。如果对实时性要求较高,难以接受redis时不时出现的2微秒的延迟,则可以设置activerehashing为no,否则建议设置为yes,以节省内存空间。
以下为包含方面的设置
include:用于指定包含其它参数文件。
2.4、启动redis
/usr/local/webserver/redis/src/redis-server /usr/local/webserver/redis/6380.conf
/usr/local/webserver/redis/src/redis-server /usr/local/webserver/redis/6379.conf
/usr/local/webserver/redis/src/redis-server /usr/local/webserver/redis/6381.conf
可以使用netstat -ntl 查看下是否启动成功
[root@localhost redis]# netstat -ntl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.21:6379 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:20587 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:875 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.21:6380 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.21:6381 0.0.0.0:* LISTEN
2.5、关闭redis
/usr/local/webserver/redis/src/redis-cli -h 192.168.1.21 -p 6380 shutdown
/usr/local/webserver/redis/src/redis-cli -h 192.168.1.21 -p 6379 shutdown
/usr/local/webserver/redis/src/redis-cli -h 192.168.1.21 -p 6381 shutdown
第三步:安装phpredis(即REDIS的PHP扩展)
unzip master
cd phpredis-master/
/usr/local/webserver/php5/bin/phpize
./configure --with-php-config=/usr/local/webserver/php5/bin/php-config
make && make install
vi /usr/local/webserver/php5/etc/php.ini
增加:extension = "redis.so"
然后执行/usr/local/webserver/php5/bin/php -m 看看有没有redis的扩展,或者浏览一个phpinfo文件来查看是否有redis扩展。

另外redis有一个web管理工具phpRedisAdmin,试用了一下,感兴趣的朋友可以装上试试。


Tags - centos , redis , phpredis
原文地址:CentOS 6.4 安装Redis 2.6.13和phpRedis扩展, 感谢原作者分享。

Kedudukan MySQL dalam pangkalan data dan pengaturcaraan sangat penting. Ia adalah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pelbagai senario aplikasi. 1) MySQL menyediakan fungsi penyimpanan data, organisasi dan pengambilan data yang cekap, sistem sokongan web, mudah alih dan perusahaan. 2) Ia menggunakan seni bina pelanggan-pelayan, menyokong pelbagai enjin penyimpanan dan pengoptimuman indeks. 3) Penggunaan asas termasuk membuat jadual dan memasukkan data, dan penggunaan lanjutan melibatkan pelbagai meja dan pertanyaan kompleks. 4) Soalan -soalan yang sering ditanya seperti kesilapan sintaks SQL dan isu -isu prestasi boleh disahpepijat melalui arahan jelas dan log pertanyaan perlahan. 5) Kaedah pengoptimuman prestasi termasuk penggunaan indeks rasional, pertanyaan yang dioptimumkan dan penggunaan cache. Amalan terbaik termasuk menggunakan urus niaga dan preparedStatemen

MySQL sesuai untuk perusahaan kecil dan besar. 1) Perniagaan kecil boleh menggunakan MySQL untuk pengurusan data asas, seperti menyimpan maklumat pelanggan. 2) Perusahaan besar boleh menggunakan MySQL untuk memproses data besar dan logik perniagaan yang kompleks untuk mengoptimumkan prestasi pertanyaan dan pemprosesan transaksi.

InnoDB secara berkesan menghalang pembacaan hantu melalui mekanisme utama. 1) Kekunci seterusnya menggabungkan kunci baris dan kunci jurang untuk mengunci rekod dan jurang mereka untuk mengelakkan rekod baru daripada dimasukkan. 2) Dalam aplikasi praktikal, dengan mengoptimumkan pertanyaan dan menyesuaikan tahap pengasingan, persaingan kunci dapat dikurangkan dan prestasi konkurensi dapat ditingkatkan.

MySQL bukan bahasa pengaturcaraan, tetapi bahasa pertanyaannya SQL mempunyai ciri -ciri bahasa pengaturcaraan: 1. SQL menyokong penghakiman bersyarat, gelung dan operasi berubah -ubah; 2. Melalui prosedur, pencetus dan fungsi yang disimpan, pengguna boleh melakukan operasi logik yang kompleks dalam pangkalan data.

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

MySQL adalah sistem pengurusan pangkalan data sumber terbuka yang sesuai untuk penyimpanan data, pengurusan, pertanyaan dan keselamatan. 1. Ia menyokong pelbagai sistem operasi dan digunakan secara meluas dalam aplikasi web dan bidang lain. 2. Melalui seni bina pelanggan-pelayan dan enjin penyimpanan yang berbeza, MySQL memproses data dengan cekap. 3. Penggunaan asas termasuk membuat pangkalan data dan jadual, memasukkan, menanyakan dan mengemas kini data. 4. Penggunaan lanjutan melibatkan pertanyaan kompleks dan prosedur yang disimpan. 5. Kesilapan umum boleh disahpepijat melalui pernyataan yang dijelaskan. 6. Pengoptimuman Prestasi termasuk penggunaan indeks rasional dan pernyataan pertanyaan yang dioptimumkan.

MySQL dipilih untuk prestasi, kebolehpercayaan, kemudahan penggunaan, dan sokongan komuniti. 1.MYSQL Menyediakan fungsi penyimpanan dan pengambilan data yang cekap, menyokong pelbagai jenis data dan operasi pertanyaan lanjutan. 2. Mengamalkan seni bina pelanggan-pelayan dan enjin penyimpanan berganda untuk menyokong urus niaga dan pengoptimuman pertanyaan. 3. Mudah digunakan, menyokong pelbagai sistem operasi dan bahasa pengaturcaraan. 4. Mempunyai sokongan komuniti yang kuat dan menyediakan sumber dan penyelesaian yang kaya.

Mekanisme kunci InnoDB termasuk kunci bersama, kunci eksklusif, kunci niat, kunci rekod, kunci jurang dan kunci utama seterusnya. 1. Kunci dikongsi membolehkan urus niaga membaca data tanpa menghalang urus niaga lain dari membaca. 2. Kunci eksklusif menghalang urus niaga lain daripada membaca dan mengubah suai data. 3. Niat Kunci mengoptimumkan kecekapan kunci. 4. Rekod Rekod Kunci Kunci Rekod. 5. Gap Lock Locks Index Rakaman Gap. 6. Kunci kunci seterusnya adalah gabungan kunci rekod dan kunci jurang untuk memastikan konsistensi data.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa