非关系型数据库NOsql(not noly sql)
使用C语言编写(性能好,快)
开源:免费。
内存。在内存操作数据,仅次于cpu.
持久性:把数据从内存发到硬盘里面。
K-V: key-value
redis的应用场景:
1.数据的告诉缓存和web会话缓存(session Cache)
2.排行榜应用。(时候更新的)
3.消息队列。发布订阅。
Redis的配置文件
在Ubuntu中默认地址:/etc/redis/redis.conf
port 6379 #默认端口
logfile /var/log/redis.log 日志文件位置。
dbfilename dump.rdb RDB持久化数据文件:把内存里面的数据放到硬盘里面去
bind 192.168.0.1 ip2 ip3指定监听ip
进入与退出
redis-cli
exit
set name huanjie
设置key和value
get name
获取该key的value
getset name budong
设置新值并抛出旧的值。
mset x zhangsan y list z wangwu
设置多个key value
set name didong ex 5
设置key的值持续时间5秒钟。
STRLEN name
获取该key值得长度
APPEND name hello
把该值追加到Key的值后面
SETEX name 5 budong
设置key的值持续时间5秒钟
setNX name tanzhou
如果该key有值,后面的新值不会覆盖
全局Key操作:
KEYS * 显示当前所有的key名
DEL x 删除指定的KEY
EXISTS 判断key是否存在
rename重命名key的名称
type x 返回该键的值的类型
hset a one maidao 设置该key字段得值
HMSET b one maidao two budong three xianhua 设置多个该key字段的值
hget a one 获取该key字段得值。
hvals b 得到b键中的fieldz字段、
List类型是按照插入顺序排序的字符串链表。
LPUSH names a b c 链表 返回列表的键数。推到前面。表的头部。
LINDEX names 1 获取列表索引值
rpop弹出最后一个元素
LPOP弹出并删除最前面的一个元素、
LLEN names 显示当前列表的长度,。
SET类型集合:
如果多次添加相同元素,Set中仅保留该元素的一份拷贝。
SADD SETKEY a b c d 往setkey集合添加成员
SCARD setkey查看集合的成员个数。
SMEMBERS key 迭代集合中的元素成员。
SISMEMBER setkey z 判断该集合是否有该元素
Sort set类型有序集合
ZADD zkey 1 a 2 b 3 c
ZCARD zkey 1 2
ZCOUNT zkey 2 4