redis的初级使用

一.什么是redis?

Redis 是一个高性能的key-value数据库。分为客户端和服务端,最重要的一点是他是基于内存的,也就是所有的数据都存储在内存中,比像MySQL这种将数据存储于硬盘中的数据库性能要高非常多倍,另外redis是非关系型数据库。

二.安装redis服务端

声明:redis官方说并没有正式支持Windows,但是却开发了Windows版,基于大多数的项目都是在Linux下部署,并且Windows不断被爆出遭到黑客入侵的新闻,本次将放弃说明关于Windows下redis下的安装和使用,但是大同小异,并不需要为没有说明而感到苦恼。本次演示的将是在centos6.3版本下的安装及使用。

官网地址:

https://redis.io/

说明:本次演示的是redis-2.8.13版本,截止到目前,官网最新的版本是4.0的测试版,稳定版为3.2.9,.有需要的可以下载自己需要的相应的版本,还有下载的为redis的源码,所以需要Linux本身已经安装好了gcc和tcl.,这里给出安装命令

1.安装gcc

yum list gcc

yum install gcc.i686 -y

2.安装tcl

yum list tcl

yum install tcl.i686 -y

下载redis

wget http://download.redis.io/releases/redis-2.8.13.tar.gz

安装redis

进入下载的目录,解压redis安装包并安装

tar xzf redis-2.8.13.tar.gz

cd redis-2.8.13

make

cd src

make install

安装完成后,通过whereis 或者which都可以查看 redis-server的安装位置,例如

whereis redis-server

修改redis配置文件

cd redis-2.8.13

cp redis.conf /home/guojiadong/config/redis/

vim /home/guojiadong/config/redis/redis.config

找到 daemonize no,把no改为yes,这个选项的意思是我们要让redis在后台启动,接着我们找到port 6379 修改默认的端口号,改为7200,这是为安全性考虑。

启动redis-server

redis-server /home/guojiadong/config/redis/redis-server

因为我们刚刚修改了默认的配置文件让redis-server在后台启动,所以上面这条命令执行完对于感官上我们无从感知,我们可以用以下命令查看是否启动。

ps aux | grep redis-server

以下为我截图,

被我圈出来的部分说明redis已经启动,并且端口是7200,先在让我们通过redis的客户端来操作redis吧

redis客户端的使用

按照正常的逻辑我们这个时候输入redis-cli就可以了,但是redis-cli默认的是6379端口,也就是之前我们在修改配置文件的时候修改的port参数,所以我们就需要输入以下命令来启动我们的redis-cli

redis-cli -h 127.0.0.1 -p 7200

连接成功,扩展:可以使用

info

查看当前redis的内容,包括配置,版本,内存等等。

三.redis的五种数据类型

1).String 可以是字符串、整数或浮点,统称为元素

2).list 一个序列集合且每个节点都包好了一个元素

3).Set 各不相同的元素

4).Hash 有key-value的散列组,其中key是字符串,value是元素

5).Sort-Set 带分数的score-value有序集合,其中score为浮点,value为元素

四.使用redis

1.操作string

set zifuchuan guojiadong //设置字符串

get zifuchuan  //获得刚刚设置的字符串

以下为截图

通过刚刚这两条命令我们就将一个key为zifuchuan,value为guojiadong的值存贮到了redis中并且获得了zifuchan的value

sting类型操作整形

set zifuchuan2 3 //甚至string类型的value为3

incr zifuchuan2 //让刚刚设置的value自增1

decrby zifuchuan2 2 //让value值减2

2.redis操作list

list类型是一个有序的列表,是从左到右还是从右到左,他允许从左或者右都可以进行推入和弹出,他并不要求值是不同,如果从左到右,那么就相当于我们常说的队列,也就是遵循先入先出

lpush list1 12 //从左边推入元素

rpush list1 12 //从右边推入元素

lpop list1 //从左边推出元素

rpop list1 //从右边推出元素

llen list1 //列出list1中元素的个数

3.redis操作set

set要求数据都是唯一的,相同的值是不能被插入2次及以上的

sadd set1 12 //插入12到set1中

scard set1 //返回当前set1中元素的个数

sismember set1 12 //判断12是否在set1这个集合中,返回1说明在,返回0说明不在

srem set1 12 //将12从set1中删除

4.redis操作hash

hash允许多个键值对存贮在一个key中

hset hash1 key1 12 //向 hash1中插入key为key1,value为12

hset hash1 key2 13 //向hash1中插入key 为key2,value为13

hget hash1 key1 //获得hash1中key1的value

hlen hash1 //查看hash1中有几个元素

hset hash1 key1 14 //直接修改hash1中key1的value,即使之前已经设置,会直接覆盖

hmget hash1 key1 key2 //一次获取hash1中key1和key2的值,会根据key1和key2的顺序返回,顺序不同,返回结果也不同

5.redis操作sort set

要求分数为浮点型,方式:score value,还有一个隐藏的rank,rank排序如果出现score相同,那么安装value值的字典排序来排序(a,b,c...1,2,3....)

zadd zset1 10.1 val1 //增加score为10.1,value为val1到zset1的映射

zadd zset1 9.1 val2 //增加score为9.1,value为val2到zset1的映射

zcard zset1 //查看zset1中元素的个数

zrange zset1 0 2 withscores //按照排名0到2把分数一起打印出来

zrank zset1 val2 //指定val2查看当前排名

五.PHP安装redis扩展

1.产看当前是否已经安装redis扩展

php-m //会列出所有安装的php扩展,找不到说明没有安装

2.检测安装环境

检测是否安装phpize和php-config,检测命令

which phpize //如果显示路径表示已经安装

which php-config //如果显示路径表示已经安装

如果提示no....表示未安装,可以通过下面命令安装

yum list php-devel //php扩展开发包,包含扩展所需要的工具

yum install php-devel.i686 -y

安装完成提示Complete!

下载redis并安装redis

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

cd phpredis //生成configure

phpize

./configure --with-php-config=/usr/bin/php-config

make

make install

修改php.ini的配置文件

小技巧查看php.ini配置文件所在位置

php --ini

也可以使用whereis php.ini来查看

vim /etc/php.ini

添加一行

extension=redis.so

保存退出,重启php-fpm即可,我们的redis已经安装完成了。

六.PHP操作redis

redis文档地址

https://github.com/phpredis/phpredis

这里对于操作redis只做简要的说明,具体的可以参考redis在github上的文档

<?php

$redis=new\Redis();//实例化redis

$redis->connect('127.0.0.1',7200);//连接7200端口

$redis->set('zifuchuan','guojiadong');//设置zifuchuan为guojiadong

$redis->get('zifuchuan');//获取zifuchaun的值

以上就是redis的基本操作的全部内容了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,711评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,079评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,194评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,089评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,197评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,306评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,338评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,119评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,541评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,846评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,014评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,694评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,322评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,026评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,257评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,863评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,895评论 2 351

推荐阅读更多精彩内容

  • PHP-redis中文文档 phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务...
    神秘者007阅读 2,733评论 0 2
  • 转自:http://bbs.redis.cn/forum.php?mod=viewthread&tid=481 p...
    木十2036阅读 806评论 0 7
  • phpredis是php的一个扩展Redis::__construct构造函数$redis = new Redis...
    hello大象阅读 762评论 0 2
  • 简介 Redis模块负责与Redis数据库交互,并提供Redis的相关API支持; Redis模块提供redis与...
    SuperGu阅读 1,682评论 0 4
  • 今天,高中死党群里,冷妹子在感慨2017年既然结束,大家七嘴八舌的插科打诨的聊天,然后出现以下对话 W妹子调侃:“...
    沁珍阅读 229评论 0 1