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 ...] --订阅频道

浙公网安备 33010602011771号