内容简介:2016-12-21 14:54:20该系列文章链接NoSQL 数据库简介
2016-12-21 14:54:20
该系列文章链接
NoSQL 数据库简介
Redis的安装及及一些杂项基础知识
Redis 的常用五大数据类型(key,string,hash,list,set,zset)
Redis 配置文件介绍
Redis 持久化之RDB
Redis 持久化之AOF
Redis 主从复制
Redis 事务
Redis 发布与订阅
Redis 相对其它类型的 NoSQL 数据库而言,更出彩的一点就是有更多的数据类型共使用者选择。
学习任意一门技术,都应该从官网入手, Redis官网(https://redis.io/) , Redis 中文网(http://www.redis.cn/) (华为建立的)
本系列文章只讲常用命令,对于完整命令及信息可以翻阅 Redis 命令参考(http://redisdoc.com/index.html)
既然 Redis 属于键值对类型数据库,那么接下来来看看独属于键的命令吧
一.key
1.keys pattern:在本数据库中查找对应某种格式的键
找到本数据库中所有的键(* 代表1个或多个字符):keys *
2. 找到 study 名称下所有的数据库:keys study:*
3.exists key:判断 key 键是否存在
查找 study:string:k2 和 study:string:k4 键值是否存在:
4.move key db:将 key 键移到 db 数据库中
5.type key:求出 key 键的类型
6.expire key seconds:设置 key 的过期时间
7.ttl key :查询 key 的过期时间
二. string
string 是字符串,key:value 键值对
string是redis最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个key对应一个value。
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M
1.set/get/append string_name value
incr/incrby decr/decrby
若是 value 仅是数字,则可以用 incr/incrby decr/decrby 对 value 做加减操作
2.strlen
求字符串的长度
3.getrange/setrange
截取总串中的部分字符串
4.setex/setnx
setex:创建键值和过期时间
setnx:set if not exists
5.mset/mget/msetnx
对多个 string 进行操作
这张图是关于三个命令的操作,以及一些特殊情况
mset key value [key]:若值已存在,则 value 覆盖旧值,如果不希望的话,则使用 msetnx
msetnx:只会在所有给定 key 都不存在的情况下进行操作
6.getset
先取值再设置值
三.hash
Redis hash 是一个键值对集合。
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
1.hset/hget/hmset/hmget/hgetall/hdel
2.hlen
同上
3.hexists
同上
4.hincrby/hincrbyfloat
5.hsetnx
四.list
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
它的底层实际是个链表
1.lpush/rpush/lrange/lpop/rpop
lpush 入 list,可以把 list 当作栈来用
rpush 入 lsit,可以把 list 当作队列来用
2.llen/lindex
3.lrem
lrem key count value:删除 key 中重复的值
4.ltrim
ltrim key begin end
5.rpoplpush
6.lset key index value
linsert key before/after value new_value
这两个是在 list 中间插入的命令,效率很低,有兴趣的可以自己试试
8.list 总结
它是一个字符串链表,left、right都可以插入添加。
如果键不存在,创建新的链表;如果键已存在,新增内容;如果值全移除,对应的键也就消失了。
链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很差了。
五.set
Redis的Set是string类型的无序集合。它是通过HashTable实现实现的,
set 是一个集合,既然是集合,那么就是无序,不可重复的。
1.sadd/srem/smembers/sismember
2.scard
3.srandmember
4.spop
5.smove
把 set1 中的元素 移到 set2 中
6.数学集合类
差集:sdiff
并集:sunion
交集:sinter
六.zset:sorted set
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。
redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
1.zadd/zrem/zscore
2.zcard/zcount
3.zrange//zrangbyscore/zrank
zrangebyscore 命令仔细使用一下
http://redisdoc.com/sorted_set/zrangebyscore.html
4.zrevrange/zrevrangebyscore/zrevrank
这个自己去写写看
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Learn Python 3 the Hard Way
Zed A. Shaw / Addison / 2017-7-7 / USD 30.74
You Will Learn Python 3! Zed Shaw has perfected the world’s best system for learning Python 3. Follow it and you will succeed—just like the millions of beginners Zed has taught to date! You bring t......一起来看看 《Learn Python 3 the Hard Way》 这本书的介绍吧!