博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[redis] 数据特性简单实验
阅读量:7098 次
发布时间:2019-06-28

本文共 2179 字,大约阅读时间需要 7 分钟。

位图

由bit位组成的数组,实际的底层数组类型是字符串,而字符串的本质是二进制大对象,所以将其视作位图,位图存储的是boolean指,一定程度上可以减少存储空间。

127.0.0.1:6379> setbit "users_tried" 100 1  -- 设置位图指定偏移量的比特位的值(integer) 0127.0.0.1:6379> getbit "users_online_order" 400  -- 获取指定偏移处比特位的值(integer) 0127.0.0.1:6379> bitcount "users_tried"  -- 位图中被设置为1的数(integer) 1127.0.0.1:6379> bitop and "users_tried_ID" "users_tried" "users_online_order"  -- 位操作, 包括and or xor not;位运算的结果被保存在目标键中(integer) 13127.0.0.1:6379> bitcount "users_tried_ID"(integer) 0

设置键的过期时间:

对于键的管理,我们不仅可以使用del 和 unlink 删除键,还可以设置键的过期时间,让其自动删除。

127.0.0.1:6379> lpush "test" 20 30 40 50 80 (integer) 5127.0.0.1:6379> expire "test" 20    -- 设置键的过期时间为20 秒(integer) 1127.0.0.1:6379> ttl "test"(integer) 14127.0.0.1:6379> exists "test"   -- 20 秒过后(integer) 0

 

如何清除一个键的过期时间:

使用persist持久化键;键的值被删除或者替换;被另一个过期的键重命名。 

expireat 和 expire 命令类似,但它可以指定一个绝对的Unix时间。

sort:

127.0.0.1:6379> sadd "test" 24 54 2 34 5 6 24 (integer) 6127.0.0.1:6379> sort "test"1) "2"2) "5"3) "6"4) "24"5) "34"6) "54"127.0.0.1:6379> sadd "test2" "sdjdvd" "dvdvd" "awrb"  "vvparn"(integer) 4127.0.0.1:6379> 127.0.0.1:6379> sort "test2" alpha1) "awrb"2) "dvdvd"3) "sdjdvd"4) "vvparn"127.0.0.1:6379> sort "test2" alpha limit 0 21) "awrb"2) "dvdvd"127.0.0.1:6379> sort "test2" alpha desc1) "vvparn"2) "sdjdvd"3) "dvdvd"4) "awrb

 

高级用法

sort key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]

 

使用管道

根据redis的通信协议,客户端执行一条命令的过程是:1.Client发送一条命令;2.Server接收命令放入队列;3.执行命令;4.返回结果;

管道的目的是在于减少Client和Server的传输时间;

redis-cli --pipe commandFile

 

redis事务:

multi 开启事务,exec 提交事务;

注意redis的事务和关系型数据库事务的区别:redis事务没有回滚功能。一般redis的事务出错在两个地方:1.语法错误;2. 错误命令之后的其他命令都会被执行。

发布订阅:

发布者:

127.0.0.1:6379> publish "test" "msg one"(integer) 2127.0.0.1:6379> publish "test" "msg two"(integer) 2127.0.0.1:6379> publish "test" "msg tree"(integer) 2

订阅者:

127.0.0.1:6379> subscribe "test"Reading messages... (press Ctrl-C to quit)1) "subscribe"2) "test"3) (integer) 11) "message"2) "test"3) "msg one"1) "message"2) "test"3) "msg two"1) "message"2) "test"3) "msg tree"

 

subscribe 命令用来监听特定频道的可用消息,可以一次订阅多个频道,也可以使用 psubscribe 订阅匹配指定模式的频道。取消订阅频道 unsubscribe

 

调试Lush脚本:

 

转载于:https://www.cnblogs.com/ytuan996/p/10651516.html

你可能感兴趣的文章
11Linux_sshd_Apache
查看>>
Android hdpi ldpi mdpi xhdpi xxhdpi适配详解
查看>>
Java_4.1 猜数字游戏
查看>>
Openstack的mysql数据多主galera的错误
查看>>
文件关联程序
查看>>
归并排序、堆排序与快速排序分析(2)
查看>>
CodeForces 567C Geometric Progression
查看>>
xfreerdp的用法
查看>>
DockerCon 2017最新技术解读
查看>>
旋转矩阵的算法
查看>>
贝叶斯方法的m-估计
查看>>
2015-2016-2 课程
查看>>
冒泡排序
查看>>
BZOJ2298:[HAOI2011]problem a(DP)
查看>>
网络流初步详解2
查看>>
sql执行顺序
查看>>
SpringMVC @RequestBody接收Json对象字符串
查看>>
Cmd 命令大全
查看>>
个人学期总结
查看>>
PTA之简单阶乘计算
查看>>