redis的数据结构基本操作
来源:互联网 发布:淘宝数据公式pv uv 编辑:程序博客网 时间:2024/06/07 03:20
Redis的数据结构:
一:String(字符串)
set+变量名+变量值就可以存储数据,通过get+变量名获取对应的变量值
del+变量名,就可以删除对应的变量,当再次获取时会显示控制
若我们将一个变量赋予为1,系统会认其为String类型,在使用incr (加一操作时)又会转换为Integer类型
若使用incr在一个未定义过的变量上,系统会将变量赋值0在进行加一操作
decr的使用和incr一样。
incrby +变量名+n :就是在该数字的基础上加n (decrby使用如上)
append+变量名+str
二.哈希
hset+变量名+key+value存储
hget+变量名+key获取值
一个变量名下可以有多个key-value
hmset +变量名+多个key-value
hgetall 获取该变量名下的所有key-value
hdel +变量名 删除操作
hincrby +变量名+key+n 加n操作
hexists 判断是否存在某个key
hlen 获取属性个数
hkeys 获取所有key
hvals 获取所有的value
三.list
两端添加
lpush list从左端添加元素
lrange list +firstindex +secondindex
从左端输出从firstindex 到secondindex的元素
如果secondIndex为负数,则是到倒数第几个数为止
两端弹出
lpop 左端弹出,弹出后3没了 ,llen查看链表长度为5.
lpushx 操作同lpush差不多
lremove listname count value :
若count>0 则是从左边开始删除count 个值为value的元素
若count<0 则是从右边开始删除count个值为value的元素
当count=0 删除所有值为value的元素
lset 在指定位置插入元素
linsert listname before/after value insertvalue :在第一个指定的元素前面/后面插入 insert value
rpoplpush mylist1 mylist2 从mylist1的右边pop出一个元素加到mylist2的左边
常用于多个程序之间的消息交互
Set
sadd存储 添加已有的元素 set不变srem删除smembers访问
sismember是否存在sdiff 求的是不同 得出来的值是第一个和第二个比较,第二个所没有的sinter 求交集sunion并集scard集合长度srandmember随机返回一个数据sdiffstore list1 list2 list3 将listt2和list3相差的成员存储到list1中a1与a2相比多的是b 所以b储存到a4中sinterstore 将交集储存sunionstore将并集存储四.sorted-set
sorted-set 的成员在集合中是有序的
应用场景:游戏的排名,微博的热搜等
zadd添加注意:添加已有的元素 改变的值为 0zscore获取值zcard长度zrem删除zrange 显示数据
zrange显示数据 withscoreszrevrange从大到小排序zremrangebyrank start stop 依据序列删除zremrangebyscore score1 score2 删除score1和score2之间的元素,包括score1 score2
zrangebyscore score1 socre2 查询score1 socre2之间分数的元素
zrangebyscore score1 socre2 limit 0 2
zincrby +变量名+要加的值+key
zcount score1 socre2 在两个分数之间元素的个数
- redis的数据结构基本操作
- redis中的数据结构基本的操作
- redis的基本操作
- redis的基本操作
- redis 的基本操作
- redis的基本操作
- Redis的基本操作
- Redis的基本操作
- redis的基本操作
- Redis(2)- 基本数据结构和操作
- Redis常见数据结构的操作
- Redis的基本操作二
- redis的基本操作--String
- 数据结构队列的基本操作
- 数据结构:字符串的基本操作
- 数据结构 队列的基本操作
- 【数据结构】 栈的基本操作
- 【数据结构】 队列的基本操作
- numpy学习笔记一(n维数组及元素级数组函数)
- VS2010项目文件被卸载的问题
- Android MVP模式实战练习之一步一步打造一款简易便笺app(二)
- vb.net 教程 4-9 二进制文件读写 1
- What is a Servlet?
- redis的数据结构基本操作
- 线程池(java.util.concurrent.ThreadPoolExecutor)的使用(一)
- 【面试常见问题】【C++】指针和引用的区别,有哪些不同点,细细道2
- Vue遇到的bug-01
- Java-德才论 (25)
- Ubuntu卸载软件之aptitude命令使用
- java练习题
- 深究更改进程名(一)
- 使用Laypage进行分页