您的位置:首页 > 数据库 > Redis

Redis-HelloWorld与五大基本数据类型(笔记)

2017-06-06 13:00 375 查看
Redis:Remote Dictionary Server(远程字典服务器),是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,也被称为数据结构服务器。

Redis有以下三个特点:

1.支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用。

2.不仅仅支持简单的key/value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

3.支持数据的备份,即master-slave模式的数据备份

HelloWorld:

安装好Redis后

1.
vim redis.conf


修改配置文件中
demonize no
demonize yes
(启用官方demo)

esc :wq
(保存退出)

2.
cd /usr/local/bin


指定修改后的配置文件以启动redis服务

3.
redis-server /usr/redis/redis-3.0.1/redis.conf


4.
redis-cli -p 6379
(启动客户端,默认端口6379)

127.0.0.1:6379>
(输入行发生变化)

5.
ping
(返回PONG表示连接成功)

6.
set k1 hello


get k1
(返回 “hello”)

shutdown
(关闭连接)

exit
(退出)

shutdown和quit命令:

1.如果持久化被打开的话, SHUTDOWN 命令会保证服务器正常关闭而不丢失任何数据。

2.另一方面,假如只是单纯地执行 SAVE 命令,然后再执行 QUIT 命令,则没有这一保证 —— 因为在执行 SAVE 之后、执行 QUIT 之前的这段时间中间,其他客户端可能正在和服务器进行通讯,这时如果执行 QUIT 就会造成数据丢失。

Tab可补全redis命令

redis启动后杂项知识

1.redis是单进程

单进程模型来处理客户端的请求,对读写等事件的响应是通过对epoll函数的包装来做到的,redis实际处理速度完全依靠主进程的执行效率。

Epoll是Linux内核为处理大批量文件描述符而做了改进的epoll,是linux下多路复用IO接口,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率

2.默认16个数据库,默认零号库

redis.conf文件中可修改
databases 16
为其他的数据库个数


redis中,
select 4
可切换当前数据库为4号库

3.dbsize

dbsize
查看当前数据库有多少key

4.keys

keys *
罗列所有的key

keys k?
可以使用占位符“?”精确罗列key

5.flushdb

flushdb
清空当前数据看看

flushall
清空所有数据库

6.统一密码管理

16个库都是同样的密码,要么都OK要么一个也连接不上

redis默认关闭了密码

7.redis索引都是从零开始

8.redis默认端口6379

redis的五大基本数据类型

1.String 字符串

a.string是redis最基本的类型,可以理解成与memcache一模一样的模型,一个key对应一个value

b.string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象

c.一个redis中字符串value最多可以有512M

2.List 列表

a.redis list是简单的string列表,按照插入顺序排序,可以添加一个元素到列表的头部或尾部,它的底层实际是一个链表

3.Set 集合

a.redis set是string类型的无序集合,它是通过hashTable实现的,除去重复。

4.Zset 有序集合

a.zset和set一样是string类型的集合,且不允许重复。

b.不同的是每个元素会关联一个double类型的分数,redis通过分数来为集合中的成员从小到大的排序。

c.zset成员是唯一的,但是分数是可以重复的。

5.Hash 哈希 类似Map

a.redis hash是一个键值对集合,是一个string类型的fleld和value的映射表,hash特别适合用于存储对象。

类似于java里的
Map<String,Object>


redis常见命令操作手册

http://redisdoc.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息