千锋教育redis笔记

redis

redis

redis-server.exe redis.windows.conf

redis-cli.exe -h 127.0.0.1 -p 6379

set myKey abc

get myKey

redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库
redis是一个开源的使用ANSI C语言编写,支持网络,可基于内存亦可持久化的日志型,key-value数据库,并提供多种语言的API.

BSD是Berkeley Software Distribution 伯克利软件发行版

nosql数据库在以下的这几种情况下比较适用
1.数据模型比较简单
2.需要灵活性更强的IT系统
3.对数据库性能要求较高
4.不需要高度的数据一致性
5.对于给定key,比较容易映射复杂值的环境

redis与其他key-value缓存产品有以下三个特点
1.redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
2.redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
3.redis支持数据的备份,集群等高可用功能。

make MALLOC=libc

make PREFIX=/usr/local/redis install

cp redis.conf /usr/redis

less -mN redis.conf

redis默认不是以守护进程启动

daemonize yes

bind 127.0.0.1

databases 16

save 900 1

save 300 10

save 60 10000

rdbcompression yes

dbfilename dump.rdb

dir ./

masterauth master-password

requirepass foobared

maxclients 128

maxmemory

redis内存溢出处理方案
1.为数据设置超时时间

2.lru算法将不用的数据删除

./bin/redis-server ./redis.conf

ps -ef | grep -i redis

redis-cli -h host -p port -a password

./bin/redis-cli shutdown 正常关闭 会进行持久化

kill -9 pid

del ccc

dump ccc

expire ccc 10

ttl ccc

pttl ccc

pexpire ccc 10

//将快要过期的key设置为永久有效
persist bbb

set users:1 a
set users:2 b
set users:3 c

keys users:?

select 0

select 1

rename aaa aaaa

//将ccc移动到数据库1中
move ccc 1

type ccc

redis支持5种数据类型

string hash list set zset

//给不存在的key赋值,解决分布式锁方案之一
setnx ccc 1111111

getrange ccc 0 2

//getset命令用于设置指定key的值,并返回key的旧值,当key不存在时,返回nil
getset

//返回key所存储的字符串值的长度
strlen key

incr topic:num

decr topic:num

incrby topic:num 10

decrby topic:num 10

hset h1 name zhangsan

hget h1 name

hmset users:1 id 1 name zhangsan age 22

hmget users:1 id name age

hgetall users:1

hkeys users:1

hlen users:1

hdel users:1 age


hmset users:2 id 1 name zhangsan age 22

hincrby users:2 age 10

//age字段是否存在
hexists users:2 age

//查看已经开放的端口
firewall-cmd --list-ports

firewall-cmd --zone=public --add-port=6379/tcp --permanent

firewall-cmd --reload

package cn.tedu;

public class RedisDemo {
   
	public static void main(String[] args){
   
		
		//连接池 redis 基本配置信息
		JedisPoolConfig poolConfig = new JedisPoolConfig();
		
		poolConfig.setMaxTotal(5);//最大连接数
		poolConfig.setMaxIdle(1);//最大空闲数
		
		
		String host = "192.168.21.129";
		int port = 6379;
		
		JedisPool pool = new JedisPool(poolConfig, host, port);
		
		
		
		
		Jedis jedis = pool.getResource();
		jedis.auth("123456");
		System.out.println(jedis.ping());
	}
	/**
	 * 测试字符串string
	 * Redis中有哪些命令,Jedis中就有哪些方法
	 */
	
@Test
public void t1(){
   
	Jedis jedis = new Jedis("192.168.21.130",6379);
	jedis.auth("123456");
	
	jedis.set("strName", "字符串的名称");
	String strName =jedis.get("strName");
	System.out.println(strName);
	jedis.close();
}
	
	
	public void t2(){
   
		Jedis jedis = new Jedis("192.168.21.130",6379);
		jedis.auth("123456");
		
		String key = "applicationName";
		
		if(jedis.exists(key)){
   
			String result =jedis.get(key);
			System.out.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值