天天看点

redis

redis

安装

这个直接百度redis的源码的下载地址就行

记得下面几个dos命令

D;

cd redis

redis-sever.exe redis.windows.conf

redis-cli.exe -h 127.0.0.1 -p 6379

设置键值对

set key value

get key

配置

语法

redis localhost:6379>config get config_setting_name

参数

daemonize no redis默认不是以守护进程的方式运行,可以改成yes启用守护进程(window不支持守护进程的配置)

pidfile /var/run/redis.pid 当redis以守护进程的方式运行时,redis会默认把pid写入/var/run/redis.pid文件

port 6379 指定redis监听接口,默认端口6379

bind 127.0.0.1 绑定主机地址

timeout 300 当客服闲置多少秒关闭连接,如果指定为0,表示关闭该功能

loglevel notice 指定日志的记录级别,redis共四个级别:debug,verbose,notice,warming,默认notice

logfile stdout 日志记录方式,默认标准输出,如果配置redis为守护进程方式运行,而配置日志记录方式为标准输出,则日志将会发送给/dev/null

databases 16 设置数据库的数量,默认为0,可以用select命令在连接上指定数据库id

save 指定在多长事件内,有多少次更新操作,将数据同步到数据文件,可以多个条件按配合

expire

暂时就这么多吧

数据类型

string

hash

list

set

zset

String

redis最基本的类型,是二进制安全的,最大能存储512mb

Hash

是键值(key=>value)对集合

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

List

简单的字符串列表,按照插入顺序排序。可以将元素添加到头部或者尾部

Set

string类型的无序集合,通过hash表实现的,所以一切操作的复杂度都是O(1)

Zset

string类型的元素的集合,且不允许重复的成员,其每个元素都会关联一个double类型的分数,这样子实现了分数来排序

Redis命令

基本语法

$redis-cli

$redis-cli -h host -p -a password (语法)

ping

Redis键

command key_name

set runoobkey redis

del runoobkey

dump key

expire key

exprire key seconds

exprire key timestamp

pexprire key milliseconds

pexprire key milliseconds-timestamp

keys pattern

move key db

persist key

pttl key

ttl key

randomkey

rename key newkey

renamenx key newkey

scan cursor [match pattern] [count count]

type key

Redis字符串

语法同上,字符命令

getrange key start end

getset key value

getbit key offset value

mget key1[key2...]

setbit key offset value

setex key seconds vaue

setnx key value

setrangge key offset value

strlen key

mset key value[key value...]

msetnx key value[key value]

psetex key milliseconds value

incr key

incrby key increment

incrbyfloat key increment

decr key

decrby key decrement

append key value

redis hash 是一个string类型的field和value的映射表,每个hash可以存储2^32-1的键值对

redis hash 命令

hdel key filed1[field2]

hexists key field

hset key field value

hget key field

hvals key

hincrby key field mincrement

hincrbyel key field increment

hincrbyfloat key field increment

hkeys key

hmget key field[field1]

hmset key field value[field1 value1]

hgetall

hscan key currsor match pattern

redis list是简单的字符串列表,按照插入顺序排序,可以添加元素到列表的头部或者是尾部

类似栈或者队列

有左右两个操作方式,left和right

push pop len rem trim set

list命令

blpop key[key1] timeout

brpop key[key1] timeout

brpoplpush source destination timeout(高级应用,单线程应用)

lindex key index

linsert key before|after pivot value

llen key

lpush key

lpop key

lpush key start stop

lrem key index value

lset key index value

ltrim key start stop

rpop key

rpush key value1[value2]

rpush key value

集合成员是唯一的。

set命令

sadd member[member1]

scard key

sdiffstorem destination key1[key2]

sinter key1[key2]

spop key

srandemember key [count]

srem key member[member1]

redis中的有序集合,通过绑定一个double类型的数值确定它的大小

zset命令

zadd key score1 member1 [score2 memebr2]

zcard key

zcount key min max

zinsertstore destination numkeys key[key...]

zlexcount key min max

zrange key start stop [withscores]

zrangebylex key min max [limit offset count]

zrangebyscore key min max [- withscores ] [ limit]

zrank key member

zremrangebyrank key min max

zremrangebyscore key min max

zrevrange key start stop [withscores]

zrevrangebyscore key max min [withscores]

zscore key membe

zunionstore destination numkeys key [key...]

zscan key cursor [match pattern] [count count]

redis方案

keys *

set操作的“权限”比hset高

redis事务

multi事务开启命令

exec事务执行命令

discard 回滚操作

watch 监控

redis

Java集成redis进入项目的方式

jedis

redistemplate