PHP中redis 的安装和使用
来源:互联网 发布:java语言开发游戏 编辑:程序博客网 时间:2024/06/09 18:14
一、套用别人的话:
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
C:\Users\yi.yang>d:D:\>cd redisD:\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
再开另一个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>
C:\Users\yi.yang>d:D:\>cd redisD:\redis>redis-cli.exe -h 127.0.0.1 -p 6379redis 127.0.0.1:6379> set yangyi 100OKredis 127.0.0.1:6379> get yangyi"100"redis 127.0.0.1:6379>
执行简单的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>
D:\redis>redis-cli.exe -h 127.0.0.1 -p 6379redis 127.0.0.1:6379> set yangyi 100OKredis 127.0.0.1:6379> get yangyi"100"redis 127.0.0.1:6379> set name yangyiOKredis 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 rangeredis 127.0.0.1:6379> set sum 12OKredis 127.0.0.1:6379> ince sum(error) ERR unknown command 'ince'redis 127.0.0.1:6379> incr sum(integer) 13redis 127.0.0.1:6379> get sum"13"redis 127.0.0.1:6379> incrby sum 5(integer) 18redis 127.0.0.1:6379> set blog:url "http://yangyi.com"OKredis 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>
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>
redis 127.0.0.1:6379> rpush users "yangyi"(integer) 1redis 127.0.0.1:6379> rpush users "zhangsan"(integer) 2redis 127.0.0.1:6379> lpush users "lisi"(integer) 3redis 127.0.0.1:6379> lrange users 0 -11) "lisi"2) "yangyi"3) "zhangsan"redis 127.0.0.1:6379> llen users(integer) 3redis 127.0.0.1:6379> rpop users"zhangsan"redis 127.0.0.1:6379> llen users(integer) 2redis 127.0.0.1:6379> lpop users"lisi"redis 127.0.0.1:6379> llen users(integer) 1redis 127.0.0.1:6379> lrange users 0 11) "yangyi"redis 127.0.0.1:6379>
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>
redis 127.0.0.1:6379> sadd lan 'php'(integer) 1redis 127.0.0.1:6379> sadd code 'php'(integer) 1redis 127.0.0.1:6379> sadd code 'java'(integer) 1redis 127.0.0.1:6379> sadd code 'c++'(integer) 1redis 127.0.0.1:6379> smembers code1) "php"2) "c++"3) "java"redis 127.0.0.1:6379> srem code 'c++'(integer) 1redis 127.0.0.1:6379> sismember code 'php'(integer) 1redis 127.0.0.1:6379> sadd book 'php'(integer) 1redis 127.0.0.1:6379> sadd book 'asp'(integer) 1redis 127.0.0.1:6379> sunion code book1) "asp"2) "php"3) "java"redis 127.0.0.1:6379>
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>
redis 127.0.0.1:6379> zadd students 1989 'yangyi'(integer) 1redis 127.0.0.1:6379> zadd students 1990 'yuanyuan'(integer) 1redis 127.0.0.1:6379> zrange students 0 -11) "yangyi"2) "yuanyuan"redis 127.0.0.1:6379> zrange students 1 21) "yuanyuan"redis 127.0.0.1:6379>
四、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
yangyi@yangyi:/$ cd /home/yangyi/yangyi@yangyi:~$ sudo wget http://redis.googlecode.com/files/redis-2.6.5.tar.gz
(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
yangyi@yangyi:~$ tar xzf redis-2.6.5.tar.gz yangyi@yangyi:~$ cd redis-2.6.5/yangyi@yangyi:~/redis-2.6.5$ make
官网上没有提示说要make install 。最好make install 一下。因为这样一下。系统会将redis的几个核心文件,复制到 /usr/local/bin/ 目录下。这样。以后就可以在任何地方启动并使用redis 了,而不必非要进入redis的安装目录,才能启动它。
- yangyi@yangyi:~/redis-2.6.5$ make install
yangyi@yangyi:~/redis-2.6.5$ make install
(3)运行,执行redis-server 命令即可。这个启动是后台运行的。不像windows cmd 很蛋疼,必须要开着,不能关。
- yangyi@yangyi:~/redis-2.6.5$ redis-server
yangyi@yangyi:~/redis-2.6.5$ redis-server
(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>
yangyi@yangyi:/$ redis-cliredis> get foo"bar"redis> exityangyi@yangyi:/$ cd /yangyi@yangyi:/$ redis-cliredis> set foo barOKredis> get foo"bar"redis>表明。redis 已经安装成功,并且可以使用了。(*^__^*)
(4)让redis 开机自启动。windows 的开机自启动很蛋疼,linux上就很easy 了。
- sudo gedit /etc/rc.local
sudo gedit /etc/rc.local
添加
- /usr/local/bin/redis-server
/usr/local/bin/redis-server
2. 还一种方法更简单。推荐。
直接:
- yangyi@yangyi:/usr/local/bin$ sudo apt-get install redis-server
yangyi@yangyi:/usr/local/bin$ sudo apt-get install redis-server就搞定了。而且配置文件神马的都自动搞好了,开机启动什么的都好了。
启动/关闭
- yangyi@yangyi:/usr/local/bin$ sudo /etc/init.d/redis-server stop
yangyi@yangyi:/usr/local/bin$ sudo /etc/init.d/redis-server stop
- yangyi@yangyi:/usr/local/bin$ sudo /etc/init.d/redis-server start
- PHP中redis 的安装和使用
- PHP中redis 的安装和使用(1)
- PHP中redis 的安装和使用(2)
- PHP Redis安装和使用
- redis在windows下安装和PHP中使用
- Redis在Windows下安装和PHP中使用
- redis在windows下安装和PHP中使用
- Redis在Windows下安装和PHP中使用
- redis在windows下安装和PHP中使用
- PHP中redis的使用
- PHP中redis的使用
- Redis的安装、使用以及php中扩展redis并实现php操作redis的一个例子
- linux详细redis安装和php中redis扩展
- Windows 下Redis的安装教程和PHP使用Redis示例
- Ubuntu16.04 上 Redis 4.0 及php-redis扩展的安装和使用
- 安装使用php-redis
- php redis安装使用
- windows下redis安装和php的redis扩展安装
- 如何写出让自己满意的代码
- 高性能MySQL(第二版)第三章 架构优化和索引(上)——读书笔记
- 上传控件和image控件以及图片插入数据库
- 基于TI8168平台的多路高清RTSP-NVR方案
- java数据结构_笔记(5)_图的算法续
- PHP中redis 的安装和使用
- 正确计算linux系统内存使用率
- 程序多开源理
- JS计算日期相减天数
- python 通过thrift 简单操作hbase
- common-IO.jar相关
- 数据结构与算法书籍推荐
- dialog.dismiss()
- Android 权限申请