Rumah > php教程 > php手册 > teks badan

PHP中redis 的安装和使用(1)

WBOY
Lepaskan: 2016-06-06 19:47:09
asal
987 orang telah melayarinya

一、套用别人的话: redis 很牛叉,能将不同类型的数据存到内存,存到内存取出的时候就快了。所以,他很受欢迎。还有一个很牛叉的叫memcache ,但是他存的数据类型很有限,只能存入string 类型。所以,用redis 取代memcache 的越来越多了。 二、windows 版本

一、套用别人的话:

redis 很牛叉,能将不同类型的数据存到内存,存到内存取出的时候就快了。所以,他很受欢迎。还有一个很牛叉的叫memcache ,但是他存的数据类型很有限,只能存入string 类型。所以,用redis 取代memcache 的越来越多了。


二、windows 版本的安装

比较一般的开发调试在windows上,所以这个版本还是要装滴~。

1.下载

地址:https://github.com/dmajkic/redis/downloads 。或者网盘(http://l3.yunpan.cn/lk/sVEUY9ygDJIdD)(redis-2.4.5-win32-win64.zip )

根据自己系统的情况选择版本安装,我选的是最新版,64位。

下载完成后,解压,有2个文件夹,一个32,一个64.,我的系统是64位windows ,所以我解压64位的。


2.安装

redis 的安装和memcache 很像,比他还要简单。

将下载的64文件夹里的子文件。复制到D:\redis 下。就可以了。就这么简单。


3. 运行

打开cmd。进入D:\redis

执行命令:redis-server.exe redis.conf

C:\Users\yi.yang>d:

D:\>cd redis

D:\redis>redis-server.exe redis.conf
[5556] 26 Nov 14:47:55 * Server started, Redis version 2.4.5
[5556] 26 Nov 14:47:55 # Open data file dump.rdb: No such file or directory
[5556] 26 Nov 14:47:55 * The server is now ready to accept connections on port 6379
[5556] 26 Nov 14:47:56 - 0 clients connected (0 slaves), 1179896 bytes in use
[5556] 26 Nov 14:48:01 - 0 clients connected (0 slaves), 1179896 bytes in use
Salin selepas log masuk

再开另一个cmd窗口。进入D:\redis

执行命令:redis-cli.exe -h 127.0.0.1 -p 6379

C:\Users\yi.yang>d:

D:\>cd redis

D:\redis>redis-cli.exe -h 127.0.0.1 -p 6379
redis 127.0.0.1:6379> set yangyi 100
OK
redis 127.0.0.1:6379> get yangyi
"100"
redis 127.0.0.1:6379>
Salin selepas log masuk

执行简单的set 和get命令,有数据,说明安装成功。


三、redis 的基本使用

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。

1 .  string简单存取操作

set 设置元素的值;

get 取出元素的值;

incr 元素自增1;

incrby 元素自增n


D:\redis>redis-cli.exe -h 127.0.0.1 -p 6379
redis 127.0.0.1:6379> set yangyi 100
OK
redis 127.0.0.1:6379> get yangyi
"100"
redis 127.0.0.1:6379> set name yangyi
OK
redis 127.0.0.1:6379> get name
"yangyi"
redis 127.0.0.1:6379> incr name
(error) ERR value is not an integer or out of range
redis 127.0.0.1:6379> set sum 12
OK
redis 127.0.0.1:6379> ince sum
(error) ERR unknown command 'ince'
redis 127.0.0.1:6379> incr sum
(integer) 13
redis 127.0.0.1:6379> get sum
"13"
redis 127.0.0.1:6379> incrby sum 5
(integer) 18
redis 127.0.0.1:6379> set blog:url "http://yangyi.com"
OK
redis 127.0.0.1:6379> get blog
(nil)
redis 127.0.0.1:6379> get blog:url
"http://yangyi.com"
redis 127.0.0.1:6379>
Salin selepas log masuk


2 . list列表操作

rpush尾部加入元素;

lpush头部加入元素;

llen列表元素个数;

rpop弹出尾部元素;

lpop弹出头部元素;

lrange user 0 -1 获取所有元素;

lrange users 1 2获取第1到第2个元素


redis 127.0.0.1:6379> rpush users "yangyi"
(integer) 1
redis 127.0.0.1:6379> rpush users "zhangsan"
(integer) 2
redis 127.0.0.1:6379> lpush users "lisi"
(integer) 3
redis 127.0.0.1:6379> lrange users 0 -1
1) "lisi"
2) "yangyi"
3) "zhangsan"
redis 127.0.0.1:6379> llen users
(integer) 3
redis 127.0.0.1:6379> rpop users
"zhangsan"
redis 127.0.0.1:6379> llen users
(integer) 2
redis 127.0.0.1:6379> lpop users
"lisi"
redis 127.0.0.1:6379> llen users
(integer) 1
redis 127.0.0.1:6379> lrange users 0 1
1) "yangyi"
redis 127.0.0.1:6379>
Salin selepas log masuk

3 .  set集合操作

sadd添加元素到集合;

smembers查看集合全部元素;

srem删除指定元素;

sismember查看元素是否存在,1表示存在,0表示不存在;

sunion合并两个set集合

redis 127.0.0.1:6379> sadd lan 'php'
(integer) 1
redis 127.0.0.1:6379> sadd code 'php'
(integer) 1
redis 127.0.0.1:6379> sadd code 'java'
(integer) 1
redis 127.0.0.1:6379> sadd code 'c++'
(integer) 1
redis 127.0.0.1:6379> smembers code
1) "php"
2) "c++"
3) "java"
redis 127.0.0.1:6379> srem code 'c++'
(integer) 1
redis 127.0.0.1:6379> sismember code 'php'
(integer) 1
redis 127.0.0.1:6379> sadd book 'php'
(integer) 1
redis 127.0.0.1:6379> sadd book 'asp'
(integer) 1
redis 127.0.0.1:6379> sunion code book
1) "asp"
2) "php"
3) "java"
redis 127.0.0.1:6379>
Salin selepas log masuk

4 . zset 有序集合(Sorted Set)操作

zadd students 1983 “yangyi” 添加一个元素yangyi到集合students里面,并设置其生日年份为1989,用做该记录的score,以便根据score进行排序;

zrange students 0 -1 查看全部

zrange students 1 2 查看第1到第2个元素

redis 127.0.0.1:6379> zadd students 1989 'yangyi'
(integer) 1
redis 127.0.0.1:6379> zadd students 1990 'yuanyuan'
(integer) 1
redis 127.0.0.1:6379> zrange students 0 -1
1) "yangyi"
2) "yuanyuan"
redis 127.0.0.1:6379> zrange students 1 2
1) "yuanyuan"
redis 127.0.0.1:6379>
Salin selepas log masuk

四、linux 上redis 的安装。

其实在linux上安装,更为简单。


1. 打开redis 官网 http://redis.io/download 下载页面。有下载的版本,有下载安装步骤,很清楚。

    (1)下载,会有下载进度条提示,下载完成在/home/yangyi/目录下。

yangyi@yangyi:/$ cd /home/yangyi/
yangyi@yangyi:~$ sudo wget http://redis.googlecode.com/files/redis-2.6.5.tar.gz
Salin selepas log masuk
 

    (2)解压并安装,tar xzf 解压 ,进入解压后的目录,make 。安装即可

yangyi@yangyi:~$ tar xzf redis-2.6.5.tar.gz 
yangyi@yangyi:~$ cd redis-2.6.5/
yangyi@yangyi:~/redis-2.6.5$ make 
Salin selepas log masuk


官网上没有提示说要make install 。最好make install 一下。因为这样一下。系统会将redis的几个核心文件,复制到 /usr/local/bin/ 目录下。这样。以后就可以在任何地方启动并使用redis 了,而不必非要进入redis的安装目录,才能启动它。

yangyi@yangyi:~/redis-2.6.5$ make install
Salin selepas log masuk


(3)运行,执行redis-server 命令即可。这个启动是后台运行的。不像windows cmd 很蛋疼,必须要开着,不能关。
yangyi@yangyi:~/redis-2.6.5$ redis-server
Salin selepas log masuk

 (4)使用,看所否已经运行。这个时候因为redis 已经启动,所以可以在任何地方,任何目录使用redis 了。执行 :redis-cli 就可以使用redis 了。
yangyi@yangyi:/$ redis-cli
redis> get foo
"bar"
redis> exit
yangyi@yangyi:/$ cd /
yangyi@yangyi:/$ redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
redis> 
Salin selepas log masuk
表明。redis 已经安装成功,并且可以使用了。(*^__^*) 


  (4)让redis 开机自启动。windows 的开机自启动很蛋疼,linux上就很easy 了。

 sudo gedit /etc/rc.local
Salin selepas log masuk

添加 
/usr/local/bin/redis-server
Salin selepas log masuk



2. 还一种方法更简单。推荐。

直接:

yangyi@yangyi:/usr/local/bin$ sudo apt-get install redis-server
Salin selepas log masuk
 就搞定了。而且配置文件神马的都自动搞好了,开机启动什么的都好了。

启动/关闭

yangyi@yangyi:/usr/local/bin$ sudo /etc/init.d/redis-server stop
Salin selepas log masuk
yangyi@yangyi:/usr/local/bin$ sudo /etc/init.d/redis-server start
Salin selepas log masuk












Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan