博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

Redis基础

  redis是一种nosql数据库,它的数据保存在内存中,同时redis可以定时把内存数据同步到磁盘(可以持久化),redis比memcached支持更多的数据结构(String、List、Set、sorted Set、hash)。

1、介绍

(1)redis是一个高性能的key-value存储系统;

(2)相对于memcached,redis支持持久化和支持更多的数据结构;

(3)redis支持主从同步;

 

2、Redis VS memcached

  memcached redis
类型 内存数据库 内存数据库
数据类型 在定义value时就要固定类型 不需要
虚拟内存 不支持 支持
过期策略 支持 支持
分布式 magent master-slave
存储数据安全 不支持 使用save存储到dump.rdb中
灾难恢复 不支持 append only file

 

3、redis的优势

(1)运行在内存,速度快,官方称支持并发11万读数据,并发8万写操作;

(2)数据虽在内存,同时也支持持久化;

(3)支持的数据结构丰富;

(4)支持订阅发布功能;

 

4、windows下的使用

(1)进入安装目录,连接redis

$>redis-cli.exe -h ip地址 -p 端口号

(2)操作示例

127.0.0.1:6379>set name "hello,world"

ok

127.0.0.1:6379>get name

 

5、对redis进行操作

(1)使用redis-cli来操作;

(2)使用java程序来操作;

 

5.1、对String的操作

添加:set key value

  将字符串值value关联到key,如果key已经持有其他值,set会覆盖旧值,无视类型。

  set name "hello,world"

查询:get key

删除:del key

给字符串设置有效时间:expire key 时间(按秒计算)

如何查找某个key-value的有效时间:ttl key

如何查看redis中所有的key:keys *

 

5.2、对List列表的操作

概述:什么是list?list是一种数据结构,可以当作队列和栈来使用。

(1)添加

  在list的前面(左边)添加:LPUSH key value[value2...] 将值value添加到表头

  在list的后面(右边)添加:RPUSH key value 将值value添加到表尾

(2)取出

  lrange key start stop

  例子:lrange ticketline 0 -1(0代表第一个,1代表第二个,-1代表最后一个,-2代表倒数第二个)

  指定返回第几个元素:LINDEX key index

(3)移除

  LPOP key 移除并返回key的表头元素

(4)删除

  删除key:del key

  从中间删除元素:LREM key count value 移除列表中与count相等的元素

 

5.3、对set集合的操作

添加:SADD key member 添加相同的值,list能添加成功,set不能添加相同的值

移除:srem key member

查询:smembers key 返回集合中的所有成员

判断是否集合key的成员:sismember key member

将一个元素从集合B移动到集合A:

  smore A B "xiao"

  原来:A{"da", "low", "height"} B{"xiao", "su"}

  移动后:A{"da", "low", "height", "xiao"} B{"su"}

 

5.4、对sorted set集合的操作

添加:ZADD key score member

查询:zrange key start stop

 

5.5、对hash数据结构的操作

添加:hset user:100 name "xiaoming"

   hser user:100 age 26

取出:hget user:100 name 取出一个域

     hkeys user:100 取出所有域

   hvals user:100 取出所有值

删除:hdel user:100 name 删除域

 

6、redis事物

multi --事物开始

cud操作...

exec --执行

 

7、redis的订阅与发布

publish channel message --发布信息

subscribe channel[ channel2 ...] --订阅频道

posted on 2016-03-21 16:39  $弹指神通  阅读(116)  评论(0)    收藏  举报