收藏的博客 -- Redis学习

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 收藏的博客 -- Redis学习

centos 7安装和使用redis,授权远程连接(★firecat推荐★)



https://redis.io/


https://github.com/antirez/redis


https://github.com/redis/hiredis -- make编译,安装路径是/usr/local/lib/libhiredis.a


https://github.com/acl-dev/acl/tree/master/lib_acl_cpp/include/acl_cpp/redis


Redis是REmoteDIctionaryServer(远程字典服务器)的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。同大多数脚本语言中的字典一样,Redis字典中的键值除了可以是字符串,还可以是其他数据类型。到目前为止Redis支持的键值数据类型如下:


●字符串类型


●散列类型


●列表类型


●集合类型


●有序集合类型



1、黄建宏


http://huangz.me/


http://blog.huangz.me/


http://note.huangz.me/


https://github.com/huangz1990


Redis 设计与实现


Redis 命令参考


带有详细注释的 Redis 3.0 代码(annotated Redis 3.0 source code)


原版3.0:https://github.com/antirez/redis/tree/3.0 , /src/version.h文件有详细的版本号


编译方法:


[root@localhost redis_study]# chmod -R 777 redis-3.0-annotated-unstable

[root@localhost redis_study]# cd redis-3.0-annotated-unstable/

[root@localhost redis-3.0-annotated-unstable]# make


阅读源码的方法1:


在Qt Creator中使用make构建,运行,调试通用C/C++项目


阅读源码的方法2:


解压,在redis-3.0-annotated-unstable文件夹新建一个CMakeLists.txt文件,内容如下:

cmake_minimum_required(VERSION 2.8)
project(redis_src)
aux_source_directory(./src DIR_SRCS)
aux_source_directory(./deps/hiredis DIR_DEPS_1)
aux_source_directory(./deps/jemalloc/src DIR_DEPS_2)
aux_source_directory(./deps/linenoise DIR_DEPS_3)
include_directories(./deps/hiredis)
include_directories(./deps/jemalloc/include)
include_directories(./deps/linenoise)
add_executable(${PROJECT_NAME} ${DIR_SRCS} ${DIR_DEPS_1} ${DIR_DEPS_2} ${DIR_DEPS_3})

--redis-3.0-annotated-unstable


   --CMakeLists.txt


   --src


   --deps



2、Redis开发与运维


https://cachecloud.github.io/


http://carlosfu.iteye.com/


http://hot66hot.iteye.com/


https://github.com/CodisLabs/codis



3、浅墨


http://0xffffff.org/ 浅墨


https://github.com/hurley25/ANet 浅墨



4、可视化客户端


(1)Redis Desktop Manager


https://redisdesktop.com/


https://github.com/uglide/RedisDesktopManager/


https://blog.csdn.net/sailorhdx/article/details/81538131


(2)TreeNMS for Redis


http://www.treesoft.cn/dms.html



5、走在前往架构师的路上


http://blog.csdn.net/Androidlushangderen


http://blog.csdn.net/Androidlushangderen/article/category/2647211



6、集群与代理


由于单台redis服务器的内存管理能力有限,使用过大内存redis服务器的性能急剧下降,且服务器发生故障将直接影响大面积业务。为了获取更好的缓存性能及扩展型,我们将需要搭建redis集群来满足需求。因redis 3.0 beta支持的集群功能不适合生产环境的使用,所以我们采用twitter正在使用的twemproxy来搭建redis缓存服务器集群,目前用户包括Pinterest、Tumblr、Twitter、Vine、Kiip、Wuaki.tv、Wanelo、Kontera、Wikimedia、Bright、56.com、Snapchat、Digg、Gawkermedia、3scale.net等。 Twemproxy是memcached和redis协议的代理服务器,并能有效减少大量连接对redis服务器的性能影响。


redis的集群方案对比(Codis对比Twemproxy)


Memcache/Redis集群管理探索与实现:美图开源PaaS平台资源网关 -- 美图改造twemproxy


https://github.com/CodisLabs/codis


https://github.com/twitter/twemproxy


https://github.com/meitu/twemproxy -- 美图,multi-process twemproxy,仿Nginx实现多进程网络模型



7、他山之石,360开源的类Redis存储系统:Pika


Pika 是 360 DBA 和基础架构组联合开发的类 Redis 存储系统,完全支持 Redis 协议,用户不需要修改任何代码,就可以将服务迁移至 Pika。有维护 Redis 经验的 DBA 维护 Pika 不需要学习成本。 Pika 主要解决的是用户使用 Redis 的内存大小超过 50G、80G 等等这样的情况,会遇到启动恢复时间长,一主多从代价大,硬件成本贵,缓冲区容易写满等问题。Pika 就是针对这些场景的一个解决方案。


重点: Pika 的单线程的性能肯定不如 Redis,Pika 是多线程的结构,因此在线程数比较多的情况下,某些数据结构的性能可以优于 Redis。 Pika 肯定不是完全优于 Redis 的方案,只是在某些场景下面更适合。所以目前公司内部 Redis,Pika 是共同存在的方案。DBA 会根据业务的场景挑选合适的方案。


https://github.com/Qihoo360/pika


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5月前
|
存储 NoSQL Linux
小白带你学习linux的Redis基础(三十二)
小白带你学习linux的Redis基础(三十二)
76 0
|
4月前
|
存储 NoSQL Redis
redis源码学习
redis源码学习
|
5月前
|
存储 NoSQL Ubuntu
在Ubuntu上安装Redis并学习使用get、set和keys命令
在Ubuntu上安装Redis并学习使用get、set和keys命令
|
6月前
|
缓存 NoSQL Redis
【Redis 系列】redis 学习十六,redis 字典(map) 及其核心编码结构
【Redis 系列】redis 学习十六,redis 字典(map) 及其核心编码结构
|
6月前
|
NoSQL 算法 Redis
【Redis 系列】redis 学习十四,sorted_set 初步探究梳理
【Redis 系列】redis 学习十四,sorted_set 初步探究梳理
|
6月前
|
存储 NoSQL Redis
【Redis 系列】redis 学习十五,redis sds数据结构和底层设计原理
【Redis 系列】redis 学习十五,redis sds数据结构和底层设计原理
|
6月前
|
负载均衡 NoSQL Redis
【Redis 系列】redis 学习十,Redis 集群搭建和主从复制
【Redis 系列】redis 学习十,Redis 集群搭建和主从复制
|
4月前
|
NoSQL 中间件 API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)(下)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
86 2
|
4月前
|
NoSQL Java API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)(上)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
75 0
|
6月前
|
存储 NoSQL 算法
[Redis 系列]redis 学习 17,redis 存储结构原理 1
[Redis 系列]redis 学习 17,redis 存储结构原理 1