redis基本操作

一:什么事Redis

1.Redis是远程的
2.Redis是基于内存的
3.Redis是非关系型数据库


二:Redis的应用场景

1.缓存
2.队列
3.数据存储


三:Redis服务端安装

1.解压Redis源码
linux命令:1.tar -xf redis-2.8.13.tar.gz
ll
cd redis-2.8.13
 2.make
 3.sudo make install


四:Redis的五种数据类型

1.string类型
key value(string/int/float)




set操作字符串
输入: set string1 xiaofei
输入: get string1
返回: xiaofei


set操作整型
输入: set string2 4
输入: get string2
返回: 4


自增操作:
输入:incr string2
输入:get string2 
返回:5


自减操作:
输入:decrby string2 2
返回:(integer) 3
输入:get string2
返回:3


2.list类型
最基本的是队列push pop操作 先进先出


lpush:从左边进 rpop:从右边出
rpush:从右边进 lpop:从左边出


基本操作:
1.输入:lpush list1 12
 输入:lpush list1 13


 输入:rpop list 1
 返回:12


2.list操作不要求集合中的数据是唯一的
lpush list2 12
lpush list2 13
lpush list2 13


查看list集合中的长度:
llen list2
返回:3


3.set类型


1.向set集合中插入元素:sadd set1 12
 查看set集合中的元素个数:scard set1  


2.set要求集合中元素是唯一的
sadd set1 12
sadd set1 13
sadd set1 13


scard set1
返回:2
3.判断某个元素是否在set集合中
sismember set1 13
返回1,说明13在集合中
4.删除set集合中的某个元素
srem set1 13


4.hash类型(散列类型)


1.向hash中插入键值对
hset hash1 key1 12
2.返回hash中key对应的值
hget hash1 key1
返回:12
3.查看hash中的数据个数
hset hash1 key1 12
hset hash1 key2 13
hset hash1 key3 13
hlen hash1
返回:3
4.一次性获得hash中key1 key2的值
hmget hash1 key1 key2




5.sort set(有序分数集)


1.将一个分数为10.1 值为val1映射到zset
zadd zset1 10.1 val1
zadd zset1 11.1 val2
zadd zset1 9.1 val3


2.查看zset1中的元素个数
zcard zset1


3.按分数排名
zrange zset1 0 2 withscores
4.查看val2的排名
zrank zset1 val2
5.修改val3的分数
zadd zset1 12.2 val3


五.redis的链接操作

$redis=new Redis();
$redis->connect("127.0.0.1",7200);


1.string操作
$redis=new Redis();
$redis->connect("127.0.0.1",7200);


$redis->delete("string1");
$redis->set("string1","val1");
$val=$redis->get("string1");
var_dump($val);  //val1


$redis->set("string2",4);
$redis->incr("string2",2);
$val=$redis->get("string2");
var_dump($val); //6


2.list操作


$redis=new Redis();
$redis->connect("127.0.0.1",7200);


$redis->delete('list1');


$redis->lpush("list1","A");
$redis->lpush("list1","B");
$redis->lpush("list1","C");


$val=$redis->rpop("list1");
var_dump($val); //A


3.set操作


$redis=new Redis();
$redis->connect("127.0.0.1",7200);


$redis->delete("set1");


$redis->sAdd("set1","A");
$redis->sAdd("set1","B");
$redis->sAdd("set1","C");
$redis->sAdd("set1","C");


$val=$redis->sCard("set1");
var_dump($val); //3


$val=$redis->sMember("set1");
var_dump($val);//以数组形式返回set1中的元素


4.hash操作


$redis=new Redis();
$redis->connect("127.0.0.1",7200);


$redis->delete("diver1");


$redis->hSet("diver1","name","ming");
$redis->hSet("diver1","age",20);
$redis->hSet("diver1","sex",1);


获取某个hash属性的值
$val=$redis->hGet("diver1","name");
var_dump($val); //ming


同时获取hash表中多个属性的值
$val=$redis->hMGet("diver1",array("name","age"));
var_dump($val);


5.sort set操作


$redis=new Redis();
$redis->connect("127.0.0.1",7200);


$redis->delete("zset1");


$redis->zAdd("zset1",100,"xiaoming");//rank:2
$redis->zAdd("zset1",90,"xiaohong");//rank:0
$redis->zAdd("zset1",93,"xiaowang");//rank:1


$val=$redis->zRange("zset1",0,-1);//zRange从低到高
var_dump($val);




$val=$redis->zRevRange("zset1",0,-1);//zRevRange从高到底
var_dump($val);

原文地址:https://www.cnblogs.com/chaofei/p/7683764.html