前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初探Redis

初探Redis

作者头像
jeanron100
发布2018-03-21 17:28:10
7820
发布2018-03-21 17:28:10
举报

大概在2010年的时候,有一次和一个同事聊天,那个时候知道了Redis,对于技术的追随至今,还没有下载一个Redis版本玩玩,

只有1万多行代码,以性能惊人著称。新浪微博架构师杨卫华(我一翻微信,原来就是Tim Yang)曾说过:“国内前十大网站的子产品估计用1台Redis就可以满足存储及Cache的需求”

从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。Redis之父到哪里,哪里就有了新的标签。

下面就是Redis之父,意大利程序员Salvatore Sanfilippo

我所在的DBAplus社群也策划了周期性的技术发展newsletter,里面有一些信息是我负责收集的,我也和行业里的各路大拿有过简单的沟通,在Redis方面也能够得到第一手的信息。

Redis的官方是https://redis.io/,国内也有Redis用户组和相关的中文站点,也要感谢这些为社区贡默默贡献的一些人,有了这个圈子,技术人才不会更加孤单。 Reids目前的最新版本是4.0.1,我从官方下载了之后,发现压缩包竟然只有1.6M,解压后大概就是8.4M左右,这个量级就是很多关系型数据库补丁的大小吧。所以勾起了我的兴趣。深入的谈不上,我局从下载安装部署开始吧。

从README文档可以看到,官方提供了以下几个很实用的链接。

Redis数据类型介绍:

http://redis.io/topics/data-types-intro

Redis命令行:

http://redis.io/commands

Redis官方文档:

http://redis.io/documentation

# rpm -qa|grep gcc libgcc-4.4.7-4.el6.x86_64 gcc-4.4.7-4.el6.x86_64

安装部署非常简单,就是一个make命令,当然如果要企业级定制还是有一些需要注意的参数。

编译之后得到的Redis目录大概是73M

[root@oel1 redis-4.0.1]# du -sh . 73M

这个目录下有个文件很重要,那就是redis的配置文件redis.conf

启动的时候,如果不声明,默认就是在这个路径下使用这个默认的redis.conf文件。

启动Redis

./redis-server &

默认端口是6379

关闭Redis

# ./src/redis-cli shutdown

进入命令行模式:

[root@oel1 src]# ./redis-cli 127.0.0.1:6379> help redis-cli 4.0.1

...

因为Reids是存储键值,我们简单测试一下,让我有些惊喜的是,竟然还有命令提示功能,会自动提示你命令的情况。

127.0.0.1:6379> set name jeanron OK

得到刚初始化后的name

127.0.0.1:6379> get name "jeanron"

Redis支持的数据类型比较丰富,支持多种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合),HyperLogLogs(一种基于概率的数据结构,用于统计集合中不同元素的个数)

比如List,使用rpush,rrange,lrange,lpush来操作

可以单个推入元素

127.0.0.1:6379> rpush mylist a (integer) 1 127.0.0.1:6379> rpush mylist b (integer) 2

列举list里的元素

127.0.0.1:6379> lrange mylist 0 -1 1) "a" 2) "b"

再补充一部分元素到list里面

127.0.0.1:6379> rpush mylist 1 2 3 (integer) 5 127.0.0.1:6379> lrange mylist 0 -1 1) "a" 2) "b" 3) "1" 4) "2" 5) "3"

还可以有队列数据结构的pop操作,比如pop末尾的元素

127.0.0.1:6379> rpop mylist "3" 127.0.0.1:6379> lrange mylist 0 -1 1) "a" 2) "b" 3) "1" 4) "2"

查看list的长度。

127.0.0.1:6379> llen mylist (integer) 4

如果对应的是一些基本的数据类型,还有一些补充的操作可用,比如像序列一样自增。

127.0.0.1:6379> set counter 100 OK 127.0.0.1:6379> incr counter (integer) 101 127.0.0.1:6379> incr counter (integer) 102 127.0.0.1:6379> incrby counter 100 (integer) 202

我们也可以管理这些键值对,比如判断是否存在,如果存在留删除。

127.0.0.1:6379> exists counter (integer) 1 127.0.0.1:6379> del counter (integer) 1 127.0.0.1:6379> exists counter (integer) 0

如果想查看整个Redis的状态信息,可以使用命令info,输出会分为几个维度来展现这些信息。

127.0.0.1:6379> info # Server redis_version:4.0.1 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:f9229e185138419b redis_mode:standalone os:Linux 3.8.13-16.2.1.el6uek.x86_64 x86_64

当然上面的操作只是Redis中九牛一毛的操作,还是很多的内容自己要细化学习。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档