初识Redis

一、Redis是什么

       Redis是一种远程内存数据库,有5种不同类型数据结构,可以通过复制、持久化和客户端分片等特性扩展Redis,使其能够包含数百GB数据,每秒处理上百万次请求。

       Redis是一种非关系数据库,可存储键(key)和5种不同类型的值(value)之间的映射,可将存储在内存中的键值对持久化到硬盘。

Redis在Python或Java示例:https://github.com/josiahcarlson/redis-in-action

Redis在spring框架下示例:http://www.springsource.org/spring-data/redis

二、使用Redis的理由

        memcached只能使用append命令将数据添加到字符串末尾,通过黑名单(blacklist)来隐藏列表元素;Redis使用list和set直接添加和删除元素。

        Redis存储的数据执行随机写的速度非常迅速,因为在Redis中,用户可直接使用原子的(atomic)INCR命令及其变种来计算聚合数据,并且Redis将数据存储在内存中,而且发送给Redis的命令请求不需要经过典型的查询分析器(parser)或查询优化器(optimizer)进行处理。

        使用Redis可以避免写入不必要的临时数据,免去了对临时数据的扫描或删除操作,从而改善了程序的性能。

        Redis存储聚合数据好处:Redis可将彼此相关的聚合数据放在同一结构中,以便访问聚合数据;使用Redis可以将聚合数据放到有序集合里面,构建出一个实时的排行榜;Redis的聚合数据可以是整数或者是浮点数,而memcached的聚合数据只能是整数。

三、Redis数据结构

        Redis可存储键和5种不同数据结构类型之间的映射,这5种数据结构类型分别是STRING(字符串)、LIST(列表)、SET(集合)、HASH(散列)和ZSET(有序集合)。

        Redis命令列表:https://redis.io/commands

        字符串:GET            获取存储在给定键中的值

                     SET            设置存储在给定键中的值

                     DEL            删除存储在给定键中的值

        列表:   RPUSH        将给定值推入列表的右边

                     LRANGE      获取列表在给定范围上的所有值

                     LINDEX       获取列表在给定位置上的单个元素

                     LPOP          从列表的左端弹出一个值,并返回弹出的值

       集合:   SADD          将给定元素添加到集合

                     SMEMBERS 返回集合包含的所有元素

                     SISMEMBER 检查给定元素是否存在于集合中

                     SREM           如果给定元素存在于集合中,那么移除这个元素

                     SINTER、SUNION、SDIFF  交集计算、并集计算和差集计算

        散列:    HSET           在散列里面关联起给定的键值对

                      HGET          获取指定散列键的值

                      HGETALL     获取散列包含的所有键值对

                      HDEL           如果给定键存在于散列中,那么移除这个键

        有序集合:ZADD        将一个带有给定分值的成员添加到有序集合里面

                        ZRANGE    根据元素在有序排列中所处位置,从有序集合中获取多个元素

                        ZRANGEBYSCORE 获取有序集合在给定分值范围内的所有元素

                        ZREM        如果给定成员存在于有序集合,那么移除这个成员

四、总结

       Redis是一个可以用来解决问题的工具,既拥有其他数据库不具备的数据结构,有拥有内存存储(这使得Redis的速度非常快)、远程(这使得Redis可以与多个客户端和服务器进行连接)、持久化(这使得服务器重启后数据仍存在)和可扩展(通过主从复制和分片)等多个特性,这使得用户可以以熟悉的方式为各种不同的问题构建解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值