package cbd.redis;


import java.util.HashMap;
import java.util.List;
import java.util.Map;

import redis.clients.jedis.Jedis;
 
public class SimplePost {
 
	private Jedis jedis;
	public static String USERSL = "usersList"; // Key list for users' name
	public static String USERSH = "usersHash"; // Key hash for users' name
	

	public SimplePost() {
		this.jedis = new Jedis();
	}
 
	public void saveUserList(String username) {
		jedis.rpush(USERSL, username);
	}

	public List<String> getUsers() {
		return jedis.lrange(USERSL,0,-1);
	}

 
	public void saveUserHash(Map<String, String> users) {
		jedis.hmset(USERSH, users);
	}

	public Map<String, String> getUsersHash() {
		return jedis.hgetAll(USERSH);
	}



	public static void main(String[] args) {
		SimplePost board = new SimplePost();
		board.jedis.del(USERSL);
		board.jedis.del(USERSH);
		// set some users
		String[] usersL = { "Ana", "Pedro", "Maria", "Luis" };

		for (String user: usersL) 
			board.saveUserList(user);

		board.getUsers().stream().forEach(System.out::println);


////////////////////////// HASH //////////////////////////
		Map<String, String> usersH = new HashMap<>();
		usersH.put("Jeronimo", "25");
		usersH.put("Amaral", "26");
		usersH.put("Bruno", "24");
		usersH.put("Tiago", "25");

		board.saveUserHash(usersH);

		board.getUsersHash().forEach((user, age) -> {System.out.println(user + ", " + age);});;

		board.jedis.close();	
		
	}
}



