Redis 使用方法与技巧整理

在已经安装Redis完毕后,使用Redis进行各项数据操作。

(1)打开linux命令面板。cd进入到redis路径目录

(2)redis-server就可以启用redis服务

打开linux面板,在命令行输入redis-cli启用redis客户端

redis-cli  #启动redis客户端

redis-cli --raw  #如果后面加--raw ,可以防止中文乱码,能直接显示中文,不会被转化为编码字符串

(4)验证密码是否正确,查看服务是否运行

auth password  #验证密码

ping   #检测是否连通

(5)info命令 ,查看当前redis所有配置信息

(6)info命令后,显示出来的信息中,# Keyspace代表当前库使用情况

redis一共0-15号库(16个库),默认使用0号库

(7)选择哪个库

select 数字

(8)选择库后,查看该库所有数据信息(不选择库默认查看0号库的信息)

keys *

(9)查看某个key的value值

get key名     例如: get token_zzz2

 (10)  查看内存使用情况

info Memory

字段解释:

used_memory_peak_perc:28.14%    //当前使用百分比

total_system_memory_huma :31.26G       //总的可使用内存

---------------------------------------------------------------------------------------

连接redis:

$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);    //连接本地的 Redis 服务 
$redis->auth("123456");    //密码授权
$redis->select(2);          //选择数据库

类型一:String(字符串)

(1)设置值

$redis->set($key,$value);   //设置值

$redis->expire($key,8);  //设置过期时间

$redis->setex($key,8,$value); //设置值,并同时设置过期时间

$redis->setnx($key,$value);   //key值不存在就插入设置,否则不执行

(2)获取值

$redis->get($key);   //获取值

$redis->getset($key,$value); //对key值设置新的value,并返回之前的value值

(3)删除值

$redis->del($key);   //删除键值对

更多其他操作可以参考网上链接:redis 在 php 中的应用(string篇) - Chrdai - 博客园

类型二:hash(哈希)

(1)单个值的存取

$hash=1;
$field='s1';
$value='小明';
$redis->hset($hash,$field,$value);         #设置单个值

$a=$redis->hget($hash,$field);             #获取单个值

(2)多个值的存取:

$hash=1;
$data=array(
    's1'=>'小明',
    's2'=>'小红',
    's3'=>'小刚',
    's4'=>'小赵',
    's5'=>'小蓝',
);
$redis->hmset($hash,$data);    #设置多个值

$redis->hget($hash,'s1');          #获取单个值

$array_get=array('s1','s2','s3','s4');
$redis->hmget($hash,$array_get);  #获取多个值

$redis->hgetall($hash);   #获取所有值

$redis->hsetnx($hash,$value);  #hash值不存在就插入设置,否则不执行

(3)删除哈希表数据

$redis->hdel($hash,'s1');  #删除单个key值

$redis->del($hash);          #删除整个表

更多其他操作可以参考网上链接:   https://www.cnblogs.com/chrdai/p/6840000.html

类型三:List(列表)

(1)插入值(lPush,lPushx,RPush,RPushx)

Lpush 命令将一个或多个值插入到列表头部。

Lpushx 将一个或多个值插入到已存在的列表头部,列表不存在时操作无效。

Rpush 命令用于将一个或多个值插入到列表的尾部(最右边)。

Rpushx 命令用于将一个或多个值插入到已存在的列表尾部(最右边)。如果列表不存在,操作无效。

$redis->lPush('list', 'aaa');
$redis->lPush('list', 'bbb', 'ccc','ddd');

$redis->rPush('list', 'eee');
$redis->rPush('list', 'eee','fff', 'ggg');

(2)获取值 (Lrange)

Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。

其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

$redis -> lRange('list',0,-1);

(3)删除值(Lrem)

Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。  

COUNT 的值可以是以下几种:  

count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。

count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。

count = 0 : 移除表中所有与 VALUE 相等的值。

$redis -> lRem('list','eee',2)

更多其他操作可以参考网上链接:https://www.cnblogs.com/chrdai/p/6841474.html

类型四:Set(集合)

 Set 是 string 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

(1)SADD

Sadd 命令将一个或多个成员元素加入到集合中,

$redis->sAdd('myset', 'hello');  
$redis->sAdd('myset', 'foo');

(2)SMEMBERS

返回集合中的所有的成员。 

$redis -> sMembers('myset'); 

(3)SREM

移除集合中的一个或多个成员元素,返回移除元素的个数

$redis -> sRem('myset','hello');  #移除单个

$redis -> sRem('myset','foo','hi') #移除多个

(4)SCARD

返回集合中元素的数量。

$redis -> sCard('myset')  #返回个数

更多其他操作可以参考网上链接:https://www.cnblogs.com/chrdai/p/6846352.html

类型五:Sorted-set(有序集合)

有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。


redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的。

(1)ZADD

将一个或多个成员元素及其分数值加入到有序集当中。(分数值可以是整数值或双精度浮点数。)

如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。

$redis -> zAdd('myset',0,'hello');
$redis -> zAdd('myset',1,'world');
$redis -> zAdd('myset',1,'foo');      //  集合中的元素唯一,但是分数可以重复
$redis -> zAdd('myset',2,'hi');
$redis -> zAdd('myset',2.5,'welcome'); 

(2)ZRANGE

返回有序集中,指定区间内的成员。

ZRANGE key start stop [WITHSCORES]

(其中成员的位置按分数值递增(从小到大)来排序。具有相同分数值的成员按字典序(lexicographical order )来排列)

如果你需要成员按值递减(从大到小)来排列,请使用 ZREVRANGE 命令。

下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。

你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。

$redis ->zRange('myset',0,-1,'withScore')

返回结果示例:

array(5) {
  ["hello"] => float(0)
  ["foo"] => float(1)
  ["world"] => float(1)
  ["hi"] => float(2)
  ["welcome"] => float(2.5)
}

(3)ZREM

移除有序集中的一个或多个成员,不存在的成员将被忽略。

$redis ->zRem('myset','hi'); 

$redis ->zRem('myset','hello','world'); 

(4)ZSCORE

返回有序集中,成员的分数值。 

$redis ->zScore('myset','foo');

更多其他操作可以参考网上链接:https://www.cnblogs.com/chrdai/p/6851731.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值