redis

来源:互联网 发布:java项目有红色感叹号 编辑:程序博客网 时间:2024/06/18 13:18

1、简介

Redis是一个开源的,C语言编写的、内存中的日志型、key-value、数据结构存储系统,可用作数据库、缓存和消息中间件。支持多种类型的数据结构,如字符串(strings)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)

2、三个特点

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

②不仅支持简单的key-value型数据,还提供list,set,zset,hash等数据结构的存储。

③Redis支持数据库的备份,即master-slave模式的数据备份。

3、运行

打开一个cmd窗口,使用cd命令切换目录到C:\redis运行redis-server.exe redis.windows.conf。

这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。

切换到redis目录下运行redis-cli.exe -h 127.0.0.1 -p 6379,配置环境变量后则不必再切换到c:\redis目录。

redis.windows.conf文件很重要,其中的requirepass用于配置服务器密码

4、常见命令

连接远程:redis-cli.exe -h 地址 -p 端口 -a 密码

select index 选择redis中不同db

config get dir得到redis安装目录

save备份redis至安装目录下,文件后缀名为rdb

①String

set key value与get key

②hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象

hmset key field value[field value...]

hgetall key

List 有序,按插入顺序排序,元素可重复,还可添加一个元素到列表的头部或尾部

lpush key value[value...]

lrange key start stop

Set 是string类型的无序集合,成员唯一,即集合中不能出现重复数据,通过哈希表实现。

sadd key member

smembers key

⑤zset(sorted set:有序集合)成员唯一,不同于set的是每个元素关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。

zadd key score member

zrangebyscore key min max

⑥发布订阅

频道、客户端

5、Redis事务

Redis事务可以一次执行多个命令,有两个重要保证:

①事务是一个单独的隔离操作:所有命令都会序列化、按顺序地执行。事务在执行过程中,不会被其他客户端发送来的命令请求打断。

②事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。

命令包括:multi、exec等。

6、对value操作的命令

  • exists(key):确认一个key是否存在
  • del(key):删除一个key
  • type(key):返回值的类型
  • keys(pattern):返回满足给定pattern的所有key
  • randomkey:随机返回key空间的一个key
  • rename(oldname, newname):将key由oldname重命名为newname,若newname存在则删除newname表示的key
  • dbsize:返回当前数据库中key的数目
  • expire:设定一个key的活动时间(s)
  • ttl:获得一个key的活动时间
  • select(index):按索引查询
  • move(key, dbindex):将当前数据库中的key转移到有dbindex索引的数据库
  • flushdb:删除当前选择数据库中的所有key
  • flushall:删除所有数据库中的所有key


教程

参考:http://blog.csdn.net/chen88358323/article/details/47318303

菜鸟教程:http://www.runoob.com/redis/redis-install.html

0 0