redis基础知识学习

数据结构:
1.String
添加:
set key value
get key
getset key value (先get再set)
incr key (key对应value原子性递增1)
decr key (key对应value原子性递减1)
incrby key increment (key对应value原子性递增 increment )
decrby key decrement
append key value (追加值)
2.List
特点:
链表的所有元素被移除,链表也从数据库中删除
添加:
前:lpush key values[1,2]
后:rpush key values[1,2]
仅当key存在
前:lpushx key values
后:rpushx key values
查看:
Lrange key start end (start end从0开始,为-1表示最后一个)
lien key 链表数量
删除:
lpop key
rpop key
扩展:
rpoplpush resource destination 将尾部弹出放到头部
llen key 数量
lset key index value:设置链表中的index的脚标的元素值,0代表链表的头元素,-1代表链表的尾元素。
linsert key before|after pivot value:在pivot元素前或者后插入value这个元素。
lrem key count value:删除count个值为value的元素,如果count大于0,从头向尾遍历并删除count个值为value的元素,如果count小于0,则从尾向头遍历并删除。如果count等于0,则删除链表中所有等于value的元素。
3.Set
特点:和java中Set相仿,可以在服务器端完成Set集合的聚合计算
添加删除:
sadd key values[valuel. value2...]:向set中添加数据,如果该key的值已有则不会重复添加
srem key members[memberl. member2...]:删除set中指定的成员
获得集合的元素:
smembers key:获取:et中所有的成员
sismember key member:判断参数中指定的成员是否在该set中,1表示存在,。表示不存在或
者该key本身就不存在。(无论集合中有多少元素都可以极速的返回结果)
集合的差集运算A-B:
sdiff keyl key2...:返回keyl与key2中相差的成员,l}ij.f-I_'} key fI}JJ}ItiJ=1:有关。即}}} ILII-fl:集。
集合的交集运算A N B
sinter keyl key2 key3...:返交集。
集合的并集运算A U B
sunion keyl key2 key3二:返回并集。
扩展:
scard key:获取set中成员的数量
srandmember key:随机返回set中的一个成员
sdiffstore destination keyl key2:将key1. key2相差的成员存储在destination上
sinterstore destination key[keys]:将返回的交集存储在destination上
sunionstore destination key[keys]:将返回的并集存储在destination上
应用场景:
存唯一值,保存某些对象依赖关系
4.Sort-Set
1.特点:
每个成员都有score与之对应,并按score从小到大排序,(应用场景:排行榜);
2.操作:
添加:
元素:zadd key score member score2 member2...
获得
单个元素:zscore key member
成员数量:zcard key
删除:
zrem key member
范围查询:
角标:zrange key start end [withscores]
分数从大到小排序后返回索引:zrevrange key start stop[withscores]
按排名范围删除元素:zremrangebyrank key start stop
zrangebyscore key min max [withscores] [limit offset count]:返回分数在[min,max]的成员并按照分
数从低到高排序。[withscores]:显示分数;[limit offset count]: offset,表明从脚标为offset的元
素开始并返回cou nt个成员。
zincrby key increment member:设置指定成员的增加的分数。返回值是更改后的分数。
zeount key min max:获取分数在[min,max]之间的成员
zrank key member:返回成员在集合中的排名。(从小到大)
zreVrank key member:返回成员在集合中的排名。(从大到小)
5.hash
1)hset key field value:为指定的key设定field/value对(键值对)。
2)hgetall key:获取key中的所有filed-vaule
3)hget key field:返回指定的key中的field的值
4)hmset key fields:设置key中的多个filed/value
5)hmget key fileds:获取key中的多个filed的值
6)hexists key field:判断指定的key中的filed是否存在
7)hlen key:获取key所包含的field的数量
8)hincrby key field increment:设置key中filed的值增加increment,如:age增加20
redis 特性
redis多数据库(16个)
下标从0到15,默认0
select x(选择哪个数据库)
移植key到数据库
move newkey 1
消息订阅与发布
subscribe xxx
psubscribt s*
publish channel content 在channel频道发布消息
1.事务
事务开启:multi
事务保存:exec
回滚:discard
特点:事务的原子性(停止响应其他服务端请求);事务中出错被忽略
2.持久化
RDB模式 : 在指定时间间隔内将内存中数据集快照持久化
redis.conf配置文件
save 900 1
save
save 30 10000 每30秒若有10000个key变动则内存快照
AOF模式 : 写日志的方式记录操作
redis基础知识学习的更多相关文章
- GCC基础知识学习
GCC基础知识学习 一.GCC编译选项解析 常用编译选项 命令格式:gcc [选项] [文件名] -E:仅执行编译预处理: -S:将C代码转换为汇编代码: -c:仅执行编译操作,不进行连接操作: -o ...
- (转)Linux基础知识学习
Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过 ...
- Objective-c基础知识学习笔记
Objective-c基础知识学习笔记(一) 一直有记录笔记的习惯.但非常久没分享一些东西了,正好上半年開始学习IOS了,如今有空写点.因开发须要,公司特意为我们配置了几台新MAC.还让我们自学了2周 ...
- 1.基础: 万丈高楼平地起——Redis基础数据结构 学习记录
<Redis深度历险:核心原理和应用实践>1.基础: 万丈高楼平地起——Redis基础数据结构 学习记录http://naotu.baidu.com/file/b874e2624d3f37 ...
- redis基础知识详解
一.redis基础知识 1.Redis是什么Redis是一个开源的key-value存储系统. 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表 ...
- 【进阶之路】Redis基础知识两篇就满足(二)
导言 大家好,我是南橘,一名练习时常两年半的java练习生,这是我在博客园的第二篇文章,当然,都是要从别处搬运过来的,不过以后新的文章也会在博客园同步发布,希望大家能多多支持^_^ 这篇文章的出现,首 ...
- 【进阶之路】Redis基础知识两篇就满足(一)
导言 大家好,我是南橘,一名练习时常两年半的java练习生,这是我在博客园的第一篇文章,当然,都是要从别处搬运过来的,不过以后新的文章也会在博客园同步发布,希望大家能多多支持^_^ 这篇文章的出现,首 ...
- AXAJ基础知识学习
AXAJ基础知识学习 博客首页 Ajax简介 ajxa全称是Asynchronous Javascript And XML ,就是异步的JS 和XML 通过Ajax可以再浏览器中向服务器发送异步请求, ...
- Redis 02: redis基础知识 + 5种数据结构 + 基础操作命令
Redis基础知识 1).测试redis服务的性能: redis-benchmark 2).查看redis服务是否正常运行: ping 如果正常---pong 3).查看redis服务器的统计信息: ...
随机推荐
- solidity 学习笔记(6)call 函数
call() 方法 call()是一个底层的接口,用来向一个合约发送消息,也就是说如果你想实现自己的消息传递,可以使用这个函数.函数支持传入任意类型的任意参数,并将参数打包成32字节,相互拼接后向合约 ...
- 洛谷P2854 [USACO06DEC]牛的过山车Cow Roller Coaster
P2854 [USACO06DEC]牛的过山车Cow Roller Coaster 题目描述 The cows are building a roller coaster! They want you ...
- cogs 721. [SDOI2007] 线性方程组
721. [SDOI2007] 线性方程组 ★★ 输入文件:gaess.in 输出文件:gaess.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 已知 n 元 ...
- Python之for循环和while循环
Python中有两种循环,分别为:for 循环和 while 循环. 循环语句就是在某种条件下,循环的执行某段代码块,并在符合条件的情况下跳出该段循环, 其目的是处理想要进行处理的相同任务.它的关键词 ...
- Python读写Excel表格
最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理. 以前正好在一本书 ...
- 第九组 通信3班 063 OSPFv2与OSPFv3综合实验
实验目的 1. 掌握 OSPFv3(v2) 的配置方法 2. 掌握在帧中继环境下 OSPFv3 (v2)的配置方法 3. 掌握 OSPFv3(v2) NSSA 的配置方法 4. 掌握外部路由汇总的配置 ...
- ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”
ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面” DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求 ...
- AD17笔记
1 铺铜修改后自动重铺设置:在最右下角
- 自动生成sql
添加下面这个类 public static class GetAllAttribute<T> where T : class { public static string Names; p ...
- Php—AJAX跨域问题
<?php /** * ajax proxy * ajax跨域解决办法 * @author suconghou <suconghou@126.com> * @version v1. ...