There is no proper answer to your question. Everything depends on your needs in this scenario.
You have to consider resources on your node, your resource requests/limits, will you use HPA or VPA, it's on local environment or on cloud environment, how many pods will be deployed on this node, what you will cache, etc.
Background
In your Deployment you set only requests so redis pod will alwyas have allocated at least CPU: 100m and RAM: 100Mi. As no limits were specified, it might use more and more resources till some errors might occur due to lack of resources (for example it can terminate pods without specified requests).
Please keep in mind that others pods which was deployed with Kubernetes also have some specific requests/limits like kube-proxy or kube-dns, etc.
To check current resource usage of your nodes you can use commands:
$ kubectl top nodes
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
gke-cluster-1-default-pool-55c97a92-m2bb 61m 6% 718Mi 25%
gke-cluster-1-default-pool-55c97a92-s907 108m 11% 748Mi 26%
If you will describe node using kubectl describe node <NodeName> you can check node total resources in Capacity section and resources which are already used by kubernetes in Allocatable. So Capacity - Allocatable is value of your free resources in this specifc moment (it might be changed due to requests/limits).
As addition, you can check artice with Redis Request/limits.
Conclusion
Redis pod can be deployed with those requests: 100m and 100Mi. As there is no limits set, Redis pod might use more and more resources which can cause to termination of other pods. If this node will be dedicated only for Redis pod, you can use maximum available resources, value of Capacity - Allocatable. Now, you can set limit to half of the node resources, and later change it depends on results. If pod reached limits you can change it to higher values, if opposite, you can change to lower values.