redis五种数据类型的增删改查语法
来源:互联网 发布:sqlserver 回滚 编辑:程序博客网 时间:2024/06/06 02:25
选择数据库
select(数字);选择写入到哪个redis
---------------------------------------
string类型数据
设置生命周期
set('键','值',数字时间);
批量设置键值
$arr={};
mset($arr);
TTl声明周期 -1表示永不过期
setnx('键','值');如果键已经存在了就会设置不成功返回false,新的键可以设置成功,返回true
删除数据,成功返回值是1,失败返回0
delete('键');
修改值
set()方法
incr('键');增加一次增加1,返回递增后的结果
incrby('键',数字);一次增加参数2的值,返回递增后的结果
decrby('键',数字);依次递减参数2的值,可为负数,
获取值
get()方法
批量获取 返回一个数组
mget(['键','键']);
------------------------------------------------
列表list
做的是队列,数据结构,
lpush('列表的名','值');从左边压值,插入头部,栈结构
rpush('列表名','值);从右边尾部压值,
内存中是没有左右的概念的
lpop('列表名');从左边删除
rpop('列表名');从右边删除
lrem('列表名','值',数字);删除参数三个参数二的,删除之后他的位置会被后面的顶替了.从左侧删除
索引争着从0开始 倒着是-1 -2 -3
修改数据,把列表中索引为参数2的值改为参数3,注意,当参数二是整数的时候表示从左边数从0开始的,当参数二是负数是从右边数从-1开始的
lset('列表名',索引值,'新值');
从参数1的尾部取出一条数据插入参数2的头部
rpoplpush('列表1','列表2');
查询数据
lindex('列表名',索引);索引为正的时候是从左开始,从0开始,当索引为负数的时候,从右开始,从-1开始
注意,增删改返回值是布尔值,查是返回的是数据
lrange('列表名',起始索引,终止索引);得到是一个数组,包含终止索引,注意如果是0,-1,表示查询所有
查询列表的长度
lsize('列表名');返回值是一个数字
-------------------------------------------------
集合
无序的集合是无序的,内部是一个哈西克码,数据不能重复
添加数据
sadd('集合名','值','值2','值3');注意向集合中添加的值是不能重复的,重复的话就没有,
删除数据
srem('集合名','值');
smove('a集合','b集合','a数据');移动a集合一个数据到b集合中
获取集合中所有的元素
smebers('集合名');返回一个数组
获取集合中元素的个数
ssize('集合名');
从集合中随机获取一个元素
srandmember('集合名');
获取两个集合的交集,返回值是数组
sinter('集合1','集合2');
差集 参2有的参1没有的部分返回
sdiff('集合1','集合2');
并集
sunion('集合1','集合2');
交并差 返回值是一个数组
检查集合中的元素是否存在
返回时一个布尔值
sismember(集合名,值);
-----------------------------------------------------
有序集合
权重,分数,编号score
添加数据
zadd('集合名','编号','编号对应的值');
标号是数字,排序就是根据他
删除数据
zrem('集合名','值');
修改数据
提高分数,在原来的基础上增加
zincrby('集合名','要加的分数','值');
//获取到集合中所有的元素,返回一个数组
zrange('集合名',0,-1);正序
zrevrange('集合名',0,-1);倒序
根据分数取值 zrangebyscore('集合名',小分数,大分数);获取指定范围内的分数
zrangebyscore('集合名',小分数,大分数,['withscore'=>true,'limit=>[0,3]);获取指定分数范围内的数据,并用数组的索引确定取几位,注意倒序也是可以的,
zrevrangebyscore倒序
zcount('集合名','小分数',大分数');获取指定分数范围内有多少元素
zsize('集合名');获取集合中有多少个元素
获取某个元素的排名,从0开始算起。
zscore('集合名','值');
正序查找集合中的值,返回值是一个数字,从零开始数
zrank('集合名','值');
zrevrank('集合名','值');倒序查从零开始数(0,1,2
--------------------------------------------
hash哈希,存储数据是用键值对存储的
增加
设置值
hset('hash名','键','值');
注意集合名就相当于数据库的表,
批量设置值,注意如果只写值数组的下标是从零开始
hmset('hash名',['键'=>值,'键'=>值],值);
递加值,一次递增参数三
hincrby('hash名','键',数字);
删除数据
hdel('hash名','键');
修改数据的本质是设置值
hset('hash名','键',修改后的值);
获取键所对应的值,返回一个字符串
hget('hash名','键');
查询多个值,多个值放到一个数组中,返回一个数组
hmget('hash名',['键','键']);
查询所有的值,返回一个数组
hgetall('hash名');
获取hash中有几条数据,返回是一个数字
hlen('hash名');
获取所有的hash中所有的键的值,返回一个数组
hkeys('hash名');
获取hash中所有value的值,返回一个数组
hvals('集合名');
检查一个键是否存在,返回一个布尔值
hexists('hash名','键');
------------------------------------------------------
五种数据结构五种 list hash string 有序集合 无需集合
通用操作
select(数字);选择数据库0-15
flushdb();清除当前的redis数据库
flushAll();清除所有的redis数据库(0-15)每一个
set('键','值');设置值
expire('键',数字);给一个已存在的数据,设置生命周期
del('键');删除键为这个的那条数据
ttl('键');获取生命周期还剩多少,返回一个数字,如果已经不存在返回负二
exists('键');检查键是否存在,返回布尔值
keys('*');获取所有键的值
注意可以用*所以正则表达式的写法是可用在这的
队列 思想的应用 要用redis里 list
在项目中是为了实现异步
用户--->注册成功-->提示用户去点击邮件激活-->点-->跳转到了
将邮件放到一个队列中
client 客户端
将要做的事放到一个队列中,让他按照先后顺序
表单--->服务器响应客户 放入队列---->处理程序取出队列中的数据
php 文件名,服务器让一个PHP文件执行,
单进程可以解决数据处理冲突的问题,例如,一百个客户注册交数据,就是开了100条进程,把这些数据放到一个队列中,处理的脚本从队列中获取数据进行处理,就能做到单进程处理数据
阅读全文
0 0
- redis五种数据类型的增删改查语法
- Redis之五种数据类型的简单增删改查
- Redis之五种数据类型的简单增删改查
- redis五种数据类型的使用
- Redis 五种数据类型的使用
- redis五种数据类型的使用
- redis五种数据类型的使用
- redis五种数据类型的使用
- redis五种数据类型的使用
- redis五种数据类型的使用
- Redis的五种数据类型
- redis常见的五种数据类型
- Redis常用的五种数据类型
- redis的五种数据类型
- Redis常用的五种数据类型
- Redis支持的五种数据类型
- Redis的五种数据结构类型
- Redis五种数据类型
- == 和 equals,equals 与 hashcode,HashSet 和 HashMap,HashMap 和 Hashtable
- 测试开发从入门到放弃之前端01_HTML5_DTD文档及Head标签内容
- JavaSE学习--HTML
- 20170607_sizeof() 运算符的概念
- acm1002大数加法
- redis五种数据类型的增删改查语法
- ios11 下载地址
- Spark2.x 快速入门教程 1
- CentOS-6.9 开启SSH远程连接
- 【整理】Python 单元测试框架
- nfs
- leetcode 416. Partition Equal Subset Sum
- BZOJ4300[绝世好题]题解--DP
- Spark2.x 快速入门教程 2