redis笔记

了解redis之前需要理解数据结构:String、Set、Hash、List、sorted Set

redis遵循BSD协议,高性能key-value数据库。

redis有三大特点:

  1. redis支持数据持久化、可以将内存中的数据保存到磁盘中,重启时可以再次加载进行使用。
  2. redis不仅仅支持简单的key-value类型的数据,同时还提供list、set、hash等数据结构的存储、
  3. redis支持数据的备份、即master-slave模式的数据备份

redis优势

  • 性能高。读的速度110000次/s,写的速度81000次/s
  • 丰富的数据类型-----支持二进制的 String、list、hash、set、sorted set 数据类型操作
  • 原子性、redis的所有操作都是原子性的。操作要么成功要么失败。单个操作是原子性的,多个操作也支持事务,即原子性通过MULTI和EXEC指令包起来。
  • 丰富的特性-redis还支持publish/subscribe,通知key过期等

 

redis 默认端口 6379

如果redis安装报错 bing:No error,解决办法如下:

cmd 进入redis目录,默认目录: c:\Program Files\Redis

在命令行中运行

redis-cli.exe

127.0.0.1:6379>shutdown

not connected>exit

然后重新运行redis-server.exe redis.windows.conf,启动成功!

redis 连接命令: redis-cli.exe -h 127.0.0.1 -p 6379

linux 默认关闭守护进程 daemonize

 

1、string 是redis最基本数据类型,二级制安全的,可以包含任何数据,比如jpg图片或者序列化对象,最大可以存储512MB。

redis 127.0.0.1:6379>SET key value

redis 127.0.0.1:6379> SET name "runoob"

OK

redis 127.0.0.1:6379> GET name

"runoob"

 

2、Hash 是一个键值(key=》value)对的集合,Redis hash是一个string类型的field和value的映射表,哈是特别适合存储对象,每个 hash 可以存储 232 -1 键值对(40多亿)。

redis> HMSET myhash field1 "Hello" field2 "World"

"OK"

redis> HGET myhash field1

"Hello"

redis> HGET myhash field2

"World"

 

3、List 是简单的字符串列表,按照插入顺序排序,列表最多可存储 232 - 1(40多亿) 元素。

redis 127.0.0.1:6379> lpush runoob redis

(integer) 1

redis 127.0.0.1:6379> lpush runoob mongodb

(integer) 2

redis 127.0.0.1:6379> lpush runoob rabitmq

(integer) 3

redis 127.0.0.1:6379> lrange runoob 0 10

1) "rabitmq" 2) "mongodb" 3) "redis" 

 

4、set集合,是string类型的无序集合,通过hash表实现的,所以添加、删除、查找的复杂度都是O(1).sadd命令,添加一个string元素到key对应的set集合中,成功返回1,已经存在返回0,如果key对应的set不存在则返回错误,集合中最大的成员数为 232 - 1(40多亿)。

redis 127.0.0.1:6379> sadd runoob redis

(integer) 1

redis 127.0.0.1:6379> sadd runoob mongodb

(integer) 1

redis 127.0.0.1:6379> sadd runoob rabitmq

(integer) 1

redis 127.0.0.1:6379> sadd runoob rabitmq

(integer) 0

redis 127.0.0.1:6379> smembers runoob

1) "redis" 2) "rabitmq" 3) "mongodb"

 

5、zset(sorted set 有序集合)

Redis zset和set都是string类型元素的集合,且不允许重复的成员。每个元素都会关联一个double类型的分数。redis通过分数来为集合中成员进行从小到大的排序。

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

redis 127.0.0.1:6379> zadd runoob 0 redis

(integer) 1

redis 127.0.0.1:6379> zadd runoob 0 mongodb

(integer) 1

redis 127.0.0.1:6379> zadd runoob 0 rabitmq

(integer) 1

redis 127.0.0.1:6379> zadd runoob 0 rabitmq

(integer) 0

redis 127.0.0.1:6379> > ZRANGEBYSCORE runoob 0 1000

1) "mongodb" 2) "rabitmq" 3) "redis"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值