Redis初识

数据库的类型:
1、关系型数据库
2、文档型数据库
3、 key-value
Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案
Redis 有三个主要使其有别于其它很多竞争对手的特点:
1、Redis是完全在内存中保存数据的数据库,使用磁盘只是为了持久性目的;
2、edis相比许多键值数据存储系统有相对丰富的数据类型;
3、Redis可以将数据复制到任意数量的从服务器中;
Redis优点
1、异常快速 : Redis是非常快的,每秒可以执行大约110000设置操作,81000个/每秒的读取操作。
2、支持丰富的数据类型 : Redis支持最大多数开发人员已经知道如列表,集合,可排序集合,哈希等数据类型。
这使得在应用中很容易解决的各种问题,因为我们知道哪些问题处理使用哪种数据类型更好解决。
操作都是原子的 : 所有 Redis 的操作都是原子,从而确保当两个客户同时访问 Redis 服务器得到的是更新后的值(最新值)。
3、MultiUtility工具:Redis是一个多功能实用工具,可以在很多如:缓存,消息传递队列中使用(Redis原生支持发布/订阅),在应用程序中,如:Web应用程序会话,网站页面点击数等任何短暂的数据;
Redis 支持5种数据类型:
字符串 列表 集合 集合排序 哈希
redis的安装:
http://www.cnblogs.com/linjiqin/archive/2013/05/27/3101694.html
注意:redis的命令不区分大小写,数字的值也是以字符串的形式存储的,本机的E盘有2.8版本的redis,2.4版本不支持一次向链表插入多个value

1、字符串类型

在字符串类型中,set get incr是三个非常有用和简单的命令
set key value 将key的值设置为value
get key 获取key的value
incr key 将key的值+1

2、哈希类型

哈希类型适合存储对象
HSET author name nswbmw
HSET author sex girl
HGATALL author

3、链表类型

链表类型适合存储社交网站的新鲜事
(1)lpush key value:把值插入到链表头部
  eg:LPUSH list a 1 b
(2)rpush key value:把值插入到链表尾部
 eg:RPUSH list a 1 b
(3)lpop key :返回并删除链表头部元素
eg: lpop list
(4)rpop key: 返回并删除链表尾部元素
eg: rpop list
(5) lrange list 1 100 获取列表的某一个片段
(8)lindex key index:返回index索引上的值
eg: lindex list 2 会返回索引为2 的元素
(9)llen key:计算链表的元素个数
eg:llen list
(10)linsert key after|before search value:在key 链表中寻找search,并在search值之前|之后插入value 找到的第一个
eg:linsert key after a a

4、集合类型

特点:无序性、确定性、唯一性
(1)sadd key value1 value2:往集合里面添加元素
eg:sadd friends zhangsan lisi wangwu
(2)smembers key:获取集合所有的元素
eg:smembers friends
(3)srem key value:删除集合某个元素
eg:srem friends zhangsan
(4)spop key:返回并删除集合中1个随机元素(可以坐抽奖,不会重复抽到某人)  
 eg:spop key
(5)srandmember key:随机取一个元素
eg:srandmember friends
(6)sismember key value:判断集合是否有某个值
eg:sismember friends wangwu 找到返回1
(7)scard key:返回集合元素的个数
eg:scard friends
(9)sinter key1 key2 key3:求key1 key2 key3的交集
(10)sunion key1 key2:求key1 key2 的并集
(11)sdiff key1 key2:求key1 key2的差集
(12)sinterstore res key1 key2:求key1 key2的交集并存在res里 

5、有序集合类型

适用于通过文章访问量来排序
它是在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动按新的值调整顺序。可以理解为有两列的mysql表,一列存储value,一列存储顺序,操作中key理解为zset的名字。
 和set一样sorted,sets也是string类型元素的集合,不同的是每个元素都会关联一个double型的score。sorted set的实现是skip list和hash table的混合体。
(1)zadd key score1 value1:添加元素
eg:zadd test 10 a
(2)zrange key start stop [withscore]:把集合排序后,返回名次[start,stop]的元素 默认是升续排列 withscores 是把score也打印出来
eg zrange test 0 -1 返回的是从开始到结束的所有的
(3)zrank key member:查询member的排名(升序0名开始)
eg:zrank test a
(5)zrevrank key member:查询member排名(降序 0名开始)
eg:zrank test a
(6)zremrangebyscore key min max:按照score来删除元素,删除score在[min, max]之间
eg:zremrangebyscore test 10 20
(7)zrem key value1 value2:删除集合中的元素
eg:zrem test a b
(8)zremrangebyrank key start end:按排名删除元素,删除名次在[start, end]之间的
(9)zcard key:返回集合元素的个数
(10)zcount key min max:返回[min, max]区间内元素数量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值